Divs From Image Names

Hi,

I’m not at all savvy with PHP, but I am trying to learn and I would really appreciate some help. Please excuse my limited knowledge and try not to get too annoyed.

Here is what I’m looking to achieve:

So lets I want my PHP to grab these files and place them on my page
2009-1.jpg
2009-2.jpg
2009-3.jpg
2010-1.jpg
2010-2.jpg
2010-3.jpg
2010-4.jpg
2011-1.jpg
2011-2.jpg
2011-3.jpg

Instead of just having all of them appear in one div as they are now (see code below)

[php]<?php
if($dirHandler = opendir($images_dir)){
while(false !== ($file = readdir($dirHandler))){
$files[] = $file;
}
}

natcasesort($files);

foreach($files as $myFile){
$name = explode(".", $myFile);
if($myFile != “.” && $myFile != “…” && ($name[1] == “jpg” || $name[1] == “JPG” || $name[1] == “jpeg” || $name[1] == “JPEG”)){
echo “

\n”;
}
}

?>[/php]

I need divs to be “generated”. (To put it very dumbly: If filename contains “2011” then create div class=2012_div and fill with “2011” “.jpg”)

So from the files above. we would end up with:

<div class="2009_div">
<div class='thumb'><a href='_Images/Dates/Jue 25/2009-1.jpg'><img src='_Images/Dates/Jue 25/thumb/2009-1.jpg'></a></div>
<div class='thumb'><a href='_Images/Dates/Jue 25/2009-2.jpg'><img src='_Images/Dates/Jue 25/thumb/2009-2.jpg'></a></div>
<div class='thumb'><a href='_Images/Dates/Jue 25/2009-3.jpg'><img src='_Images/Dates/Jue 25/thumb/2009-3.jpg'></a></div>
</div>

<div class="2010_div">
<div class='thumb'><a href='_Images/Dates/Jue 25/2010-1.jpg'><img src='_Images/Dates/Jue 25/thumb/2010-1.jpg'></a></div>
<div class='thumb'><a href='_Images/Dates/Jue 25/2010-2.jpg'><img src='_Images/Dates/Jue 25/thumb/2010-2.jpg'></a></div>
<div class='thumb'><a href='_Images/Dates/Jue 25/2010-3.jpg'><img src='_Images/Dates/Jue 25/thumb/2010-3.jpg'></a></div>
<div class='thumb'><a href='_Images/Dates/Jue 25/2010-4.jpg'><img src='_Images/Dates/Jue 25/thumb/2010-4.jpg'></a></div>
</div>

<div class="2010_div">
<div class='thumb'><a href='_Images/Dates/Jue 25/2011-1.jpg'><img src='_Images/Dates/Jue 25/thumb/2011-1.jpg'></a></div>
<div class='thumb'><a href='_Images/Dates/Jue 25/2011-2.jpg'><img src='_Images/Dates/Jue 25/thumb/2011-2.jpg'></a></div>
<div class='thumb'><a href='_Images/Dates/Jue 25/2011-3.jpg'><img src='_Images/Dates/Jue 25/thumb/2011-3.jpg'></a></div>
</div>

Is this possible? Again, any help much appreciated.

Thanks!

You could use a couple of methods such as GLOB, SCANDIR etc.

GLOB
[php]foreach(glob(’./images/.’) as $filename){
echo $filename;
}[/php]
SOURCE

SCANDIR
[php]$images = scandir(“images”, 1);
print_r($images);[/php]
SOURCE

Sponsor our Newsletter | Privacy Policy | Terms of Service