ホームページ  >  記事  >  バックエンド開発  >  PHP で `opendir()` を使用してディレクトリのリストをアルファベット順に並べ替えるにはどうすればよいですか?

PHP で `opendir()` を使用してディレクトリのリストをアルファベット順に並べ替えるにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-27 17:47:01186ブラウズ

How do I sort a directory listing alphabetically using `opendir()` in PHP?

PHP の opendir() を使用してディレクトリ リストをアルファベット順に並べ替える

PHP で opendir() を使用してディレクトリ リストをアルファベット順に並べ替えるには、次の手順に従います。 :

  1. ファイルを配列に集める: 並べ替える前に、次のように $dirFiles = array(); を使用してすべてのファイルを配列に読み込みます:
<code class="php">$dirFiles = array();
while (false !== ($file = readdir($handle))) {
    $dirFiles[] = $file;
}</code>
  1. 配列を並べ替えます: ファイルが配列内にあると、sort() を使用してアルファベット順に並べ替えることができます:
<code class="php">sort($dirFiles);</code>
  1. 並べ替えられたリストを表示します: 最後に、並べ替えられた $dirFiles 配列を反復処理し、前と同じように画像とサムネイルを表示します:
<code class="php">foreach($dirFiles as $file)
{
    echo "<li><a href=\"Images/$file\" class=\"thickbox\" rel=\"gallery\" title=\"$newstring\"><img src=\"Images/Thumbnails/$file\" alt=\"$newstring\" width=\"300\"  </a></li>\n";
}</code>

これらを組み込んだ変更されたスクリプトは次のとおりです。手順:

<code class="php">... (unchanged code) ...

// Read files into an array
$dirFiles = array();
while (false !== ($file = readdir($handle))) {
    if ($file != "." &amp;&amp; $file != ".." &amp;&amp; $file != "index.php" &amp;&amp; $file != "Thumbnails") {
        $dirFiles[] = $file;
    }
}
closedir($handle);

// Sort the array
sort($dirFiles);

// Display the sorted listings
foreach($dirFiles as $file)
{
    echo "<li><a href=\"Images/$file\" class=\"thickbox\" rel=\"gallery\" title=\"$newstring\"><img src=\"Images/Thumbnails/$file\" alt=\"$newstring\" width=\"300\"  </a></li>\n";
}</code>

以上がPHP で `opendir()` を使用してディレクトリのリストをアルファベット順に並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。