I am currently working on a simple task yet a bit tricky. My task is to read all the images from the directory and write them into CSV file. So, when I read the directory I get the array list of images filename data will look like below:
array (
'13763',
'13763-1',
'13763-2',
'13764',
'13765',
'13765-1',
);
I wanted this data to be exported into csv file which looks like below:

So, I am going through the foreach loop as $image which gives me each element and each loop I am checking the string has '-' character or not. If it has no '-' character than I assign $currentId = $image but if it has '-' then I assign $additionalImage .= ', '.$image.'.jpg'. But the problem is I only want to insert one row if it has additional images '13763.jpg, 13763-1.jpg, 13763-2.jpg'. Below is my code what I have done so far.
$currentId = '';
$prevId = '';
$additionalImages = '';
$addId = '';
$counter = 0;
$file = fopen('./images/M2_import_image.csv', 'w');
foreach ($images as $image) {
if (strpos($image, '-') == FALSE) {
if ($currentId != $image) {
$mainImage = $image.'.jpg';
// print_r($additionalImages);
fputcsv($file, array(
$mainImage,
$mainImage,
$mainImage,
$mainImage,
$mainImage,
$additionalImages,
));
$additionalImages = '';
}
$currentId = $image;
$additionalImages = $image.'.jpg';
}
if (strpos($image, '-') != FALSE) {
$addId = substr($image, 0, strpos($image, '-'));
$additionalImages .= ', '.$image.'.jpg';
}
}
fclose($file);