如何从文件夹中提取文件并按日期对其进行排序?

时间:2018-03-11 18:09:12

标签: php image sorting foreach

我有一个文件夹,我每天上传照片,它们显示在我网站的网页上,如图库。 问题是上次上传的照片没有显示在顶部,因为它们按名称排序而不是按日期排序。

是否可以按日期对其进行排序,然后在页面上显示它们?

<?php
                $files = (glob("../catalog-reseller/wall/diverse/*.jpg")); rsort($files);
                foreach (array_slice($files, 0) as $filename) 
                {   $x=$x+1;
                    echo'
                    <a href="'.$filename.'" data-rel="lightcase:gallery" title="Caption Text">
                    <img src="'.$filename.'" alt="">
                </a>';
                 if($x==50){break;}
                }
?>

1 个答案:

答案 0 :(得分:0)

您可以查看使用filectime($filename)创建文件的时间,然后根据创建时间使用usort进行自定义排序。如果您想先显示最新文件,可以执行以下操作。

//usort expects a custom comparison function that takes two arguments
//custom function should return a number >= 1 if first_arg > second_arg
//custom function should return 0 if first_arg == second_arg
//and lastly, it should return a number < 0 if first_arg < second_arg

function compare($firstFile, $secondFile)
{
    return filectime($firstFile) - filectime($secondFile);
}

usort($files, "compare");

您可以找到usort here的文档,以及filectime的文档here.