I am using the following function to display my gallery images:
<?php
//function call
return showImages();
//function definition
function showImages(){
$out = "<h1>Image Gallery</h1>";
$out .= "<ul id='images'>";
$folder = "img";
$filesInFolder = new DirectoryIterator($folder);
$imgnumber = 1;
while ($filesInFolder->valid()){
$file = $filesInFolder->current();
$filename = $file->getFilename();
$src = "$folder/$filename";
$fileInfo = new Finfo( FILEINFO_MIME_TYPE );
$mimeType = $fileInfo->file($src);
if ($mimeType === 'image/jpeg'){
$out.= "<li><img id='imgnumber$imgnumber' src='$src' /></li>";
}
$filesInFolder->next();
$imgnumber = $imgnumber + 1;
}
$out .= "</ul>";
return $out;
}
The expected result is that img id is incremented by 1 each time the while iteration runs. My problem is that the first image has an id of imgnumber4. This is my result:
<h1>Image Gallery</h1>
<ul id='images'>
<li><img id='imgnumber4' src='img/1.jpg' /></li>
<li><img id='imgnumber5' src='img/10.jpg' /></li>
<li><img id='imgnumber6' src='img/11.jpg' /></li>
<li><img id='imgnumber7' src='img/12.jpg' /></li>
<li><img id='imgnumber8' src='img/13.jpg' /></li>
<li><img id='imgnumber9' src='img/18.jpg' /></li>
<li><img id='imgnumber10' src='img/2.jpg' /></li>
<li><img id='imgnumber11' src='img/27.jpg' /></li>
<li><img id='imgnumber12' src='img/3.jpg' /></li>
<li><img id='imgnumber13' src='img/4.jpg' /></li>
<li><img id='imgnumber14' src='img/5.jpg' /></li>
</ul>
Can you tell me why it is starting from number 4 and not 1? I have set the variable $imgnumber to be 1 from start so I have no idea why it jumps to 4...
ifblock there. Should be obvious.