按日期对Php库中的照片进行排序


Sort photos in Php gallery by date

我正试图用PHP为一位朋友建立一个图库。目前,我的脚本从"库"文件夹中导入所有图像,并使用自动生成的缩略图和fancybox插件按字母顺序显示它们。可以按日期排序吗?不管是拍摄日期还是最后一次修改日期。我使用的代码如下。提前感谢!

<?php
$path =  'gallery/'; 
$files = scandir('gallery/'); 
?>
<ul>
<?php foreach ($files as $file){
if ($file == '.' || $file == '..'){ 
    echo '';
} else {
?>
<li><a class="fancybox" rel="group" href="<?php echo $path . $file; ?>"><img src="scripts/timthumb.php?src=<?php echo $path . $file; ?>&h=194&w=224&zc=1&q=100" /></a></li>
<?php } }?>
</ul>

这个php函数根据文件最后修改的日期对文件进行排序。不要忘记将要忽略的文件放入忽略文件数组中。

function scan_dir($dir) {
    $ignored_files = array()
    $files = array();   
    foreach (scandir($dir) as $file) {
        if (in_array($file,$ignored_files) {
             $files[$file] = filemtime($dir.'/'.$file);
        }
    }
    arsort($files);
    $files = array_keys($files);
    if(is_null($files))
        return false;
    return $files;
}

你可以对它进行一点重构——这真的很巧妙。希望这将工作