如何在PHP中按日期对文件进行排序
2022-06-20 00:00:00
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>";
}
}
}
未测试,但这是如何操作的。
相关文章