通过PHP(或类似的东西)创建文件的时间

时间:2012-03-30 15:46:43

标签: php file

我循环浏览目录并使用glob()获取所有文件。有没有办法按照创建日期/时间对结果数组的元素进行排序?目前我正在使用filemtime(),但这假设它们从未被编辑过。

干杯!

3 个答案:

答案 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。