PHP readdir / opendir是如何排序的

时间:2014-11-15 18:59:22

标签: php sorting opendir scandir

我想知道在调用以下代码时,数组中的文件(名称)s总是以不同方式排序。 PHP opendir如何对文件进行排序以及如何在系统中更改它而不必先将其放入数组中然后对其进行排序?

$dh  = opendir($dir);  
    do {
        $files_in_dir[] = $filename;
    }
    while (false !== ($filename = readdir($dh)));

2 个答案:

答案 0 :(得分:1)

作为建议,请使用PHP scandir() 功能,因为PHP的官方文档定义了它:

  

scandir - 列出指定路径中的文件和目录

并且还支持排序。

  

默认情况下,排序顺序按字母顺序升序排列。如果可选的sorting_order设置为SCANDIR_SORT_DESCENDING,则排序顺序按字母顺序降序排列。如果设置为SCANDIR_SORT_NONE,则结果未排序。

答案 1 :(得分:1)

  

条目按文件系统存储的顺序返回。

http://php.net/manual/en/function.readdir.php