PHP でディレクトリ内のファイルを数える
プログラミングにおける一般的なタスクの 1 つは、特定のディレクトリ内のファイルの数を確認することです。 PHP ではこれを実現するためのいくつかの方法が提供されており、ここでは 2 つの方法を検討します。
方法 1: scandir 関数を使用する
scandir 関数はディレクトリの内容をスキャンし、ファイル名とディレクトリ名の配列を返します。ファイルのみをカウントするには、次のように、現在のディレクトリ エントリと親ディレクトリ エントリ (. および ..) をフィルタリングして除外できます。
<code class="php">$dir = "uploads/"; $files = array_filter(scandir($dir), function ($file) { return !in_array($file, ['.', '..']) && !is_dir($file); }); echo "There were " . count($files) . " files";</code>
方法 2: FilesystemIterator クラスを使用する
FilesystemIterator クラスは、ディレクトリを反復処理するためのより効率的でオブジェクト指向の方法を提供します。現在のディレクトリと親ディレクトリをスキップすると、ファイルの数を直接カウントできます。
<code class="php">$dir = __DIR__; $fi = new FilesystemIterator($dir, FilesystemIterator::SKIP_DOTS); printf("There were %d Files", iterator_count($fi));</code>
どちらのメソッドもディレクトリ内のファイルの数を効果的にカウントしますが、FilesystemIterator クラスの方がわずかに効率的です。好みとプロジェクトの要件に基づいて、適切な方法を選択してください。
以上がPHP でディレクトリ内のファイルを数えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。