dreamfly2016 2016-10-31 12:37
浏览 93

按修改日期对图像排序

I have a small script that puts images from a folder into a web page. I would like to sort by DATE MODIFIED anyone know how to do this?

function php_thumbnails($imagefolder,$thumbfolder,$lightbox)
{
//Get image and thumbnail folder from function
$images = "portfolio/" . $imagefolder; //The folder that contains your images. This folder must contain ONLY ".jpg files"!
$thumbnails = "portfolio/" . $thumbfolder; // the folder that contains all created thumbnails.
//Load Images
//load images into an array and sort them alphabeticall:
$files = array();
if ($handle = opendir($images))
    {
    while (false !== ($file = readdir($handle)))
        {
        //Only do JPG's
        if(eregi("((.jpeg|.jpg)$)", $file))

            {
            $files[] = array("name" => $file);
            }
        }
    closedir($handle);
    }
//Obtain a list of columns

foreach ($files as $key => $row)
    {
    $name[$key]  = $row['name'];
    }
//Put images in order:
array_multisort($name, SORT_ASC, $files);
//set the GET variable name
$pic = $imagefolder;
  • 写回答

1条回答 默认 最新

  • dou448172583 2016-10-31 13:58
    关注

    You need to use filemtime function to retrieve the files modification time, and then use it to build your multisort help array.

    ...
    if(eregi("((.jpeg|.jpg)$)", $file))
        {
        $datem = filemtime($images . '/' . $file);
        $files[] = array("name" => $file, "date" => $datem);
        }
    }
    ...
    ...
    ...
    foreach ($files as $key => $row)
    {
       $date[$key]  = $row['date'];
    }
    //Put images in order:
    array_multisort($date, SORT_ASC, $files);
    
    评论

报告相同问题?