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 に答える