我循环浏览目录并使用glob()获取所有文件。有没有办法按照创建日期/时间对结果数组的元素进行排序?目前我正在使用filemtime(),但这假设它们从未被编辑过。
干杯!
答案 0 :(得分:2)
您可以尝试以下方法:
$array = glob("*.txt");
usort($array, function($a, $b) {
$aTime = filectime($a);
$bTime = filectime($b);
if ($aTime < $bTime) {
return -1;
} elseif ($aTime > $bTime) {
return 1;
} else {
return 0;
}
});
传递匿名函数以允许用户定义的数组排序。这次的功能,根据glob返回的文件的创建时间(windows)/ inode更改时间(linux)进行检查和排序。
希望这有帮助。
ISE
答案 1 :(得分:1)
http://www.php.net/manual/en/function.filectime.php
可能会更接近您的需求。它在编辑时仍然更新,但不是内容..只有元数据。
答案 2 :(得分:0)
许多文件系统不保留有关文件创建日期的任何信息。在这些上你可以尝试使用filectime。