如何在PHP中按日期对文件进行排序 [英] How to sort files by date in PHP

查看:43
本文介绍了如何在PHP中按日期对文件进行排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我当前有一个脚本,它允许我输出同一目录中的文件列表。

输出显示名称,然后我使用filemtime()函数显示文件的修改日期。

如何对输出进行排序以显示最新修改的文件?

这是我目前拥有的:

if ($handle = opendir('.')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            $lastModified = date('F d Y, H:i:s', filemtime($file));
            if(strlen($file)-strpos($file, ".swf") == 4) {
                echo "$file - $lastModified";
            }
        }
    }
    closedir($handle);
}

推荐答案

您需要将文件放入数组中才能排序和查找上次修改的文件。

$files = array();
if ($handle = opendir('.')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
           $files[filemtime($file)] = $file;
        }
    }
    closedir($handle);

    // sort
    ksort($files);
    // find the last modification
    $reallyLastModified = end($files);

    foreach($files as $file) {
        $lastModified = date('F d Y, H:i:s',filemtime($file));
        if(strlen($file)-strpos($file,".swf")== 4){
           if ($file == $reallyLastModified) {
             // do stuff for the real last modified file
           }
           echo "<tr><td><input type="checkbox" name="box[]"></td><td><a href="$file" target="_blank">$file</a></td><td>$lastModified</td></tr>";
        }
    }
}

未测试,但这是如何操作的。

这篇关于如何在PHP中按日期对文件进行排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆