Date: 04/15/05 (PHP Community) Keywords: no keywords
20050108_image1.jpg 20050108_image2.jpg 20050108_image3.jpg 20050110_image1.jpg 20050110_image2.jpg 20050124_image1.jpg 20050124_image2.jpg I would like to get a result similar to this: 01-08-2005 Other Dates: [ 01-10-2005 ] [ 01-24-2005 ] image1 image2 image3 If you click on the other dates, it would, of course, show the images with those dates. I have tried a couple of things, including putting the images into an array, but cannot figure out how to sort the array by the date. Seems like it should be simple but I am stuck. Right now I am reading the directory and putting each image with an image extension into an array. I am trying to use the date as the key but not having any success.
while (($file = readdir($dh)) !== false) {
if ((!($file==".")) AND (!($file==".."))){
$ifdir=filetype($ImageDir.$file);
if (!($ifdir=="dir")){
$extension = substr(strrchr($file, "."), 1);
if (($extension == "jpg") OR ($extension=="gif") OR ($extension=="png") OR ($extension=="jpeg")){
$date = substr($file,'0','8');
$listFile[$date][]=$file;
}
}
}
}
// show files
if(count($listFile) > 0){
sort($listFile);
$body.='Which gives me this:
Array
(
[0] => Array
(
[0] => 20050108_image1.jpg
[1] => 20050108_image2.jpg
[2] => 20050108_image3.jpg
)
[1] => Array
(
[0] => 20050124_image1.jpg
[1] => 20050124_image2.jpg
)
[2] => Array
(
[0] => 20050110_image1.jpg
[1] => 20050110_image2.jpg
)
)
I expected the array to have the date as the KEY. Like so:
Array
(
[20050108] => Array
(
[0] => 20050108_image1.jpg
[1] => 20050108_image2.jpg
[2] => 20050108_image3.jpg
)
[20050124] => Array
(
[0] => 20050124_image1.jpg
[1] => 20050124_image2.jpg
)
[20050110] => Array
(
[0] => 20050110_image1.jpg
[1] => 20050110_image2.jpg
)
)
What am I doing wrong here? Is there a better way to achieve what I am trying to achieve? Source: http://www.livejournal.com/community/php/286445.html
|