1

基本上我有一个 php 脚本,它列出了目录中的所有文件并创建指向它们的链接。但是,它似乎以非常任意的方式对文件进行排序(不是按字母顺序/按日期/按大小等...)。php以什么方式订购文件?有什么办法可以改变这个吗?

 <?php
    $orig = "/var/www/phplist";
    if ($dir = opendir($orig)) {
        echo "from: $orig";
        echo "<br><br>";

        while ($file = readdir($dir)) {
        $ok = "true";
        $filename = $file;
        if ($file == "."){
        $ok = "false";
        }
        else if ($file == ".."){
        $ok = "false";
        }
        if ($ok == "true"){
          echo "<a href= '/phplist/$file'>$filename</a>";
        echo "<br>";
        }
        }

        closedir($dir);
    }
    ?> 
4

1 回答 1

2

此函数的文档解释了您要查找的内容:

返回目录中下一个条目的名称。这些条目按照文件系统存储它们的顺序返回。

并且根据文件系统,文件可能会保留它们的创建顺序(FAT);可能按字母顺序排序(NTFS);可能会根据它们在哈希表(ext4) 中的位置进行排序;或其他各种方式。

如果您需要特定顺序的文件,请查看scandir,它接受一个指定排序顺序的参数。

于 2013-02-11T21:52:47.413 回答