1

这是我用来获取目录中文件数组的代码。

$dir = "thumbnails/";
$images = scandir($dir);

如何按创建日期对 $images 数组进行排序?我找到了几种方法,但我无法让它们中的任何一种与我的阵列一起使用。

谢谢,

4

3 回答 3

1

在 Windows 上,您可以使用filectime(). 只需将其与文件名放在一个数组中并对该数组进行排序即可。

大多数 *nix 文件系统不存储创建时间。

于 2012-04-05T01:23:55.647 回答
0

尝试以下教程,其中包含有关如何按文件修改/创建排序的脚本。

http://www.bitrepository.com/sort-files-by-filemtime.html

于 2012-04-05T01:29:48.453 回答
0

您必须手动排序

$dir = "thumbnails/";

function compare_time($a, $b)
{
    global $dir;

    $timeA = filectime("$dir/$a");
    $timeB = filectime("$dir/$b");

    if($timeA == $timeB) return 0;

    return ($timeA < $timeB) ? -1 : 1;
}

$images = scandir($dir);
usort($images, 'compare_time');
于 2012-04-05T01:32:40.610 回答