PHP ディレクトリ内のファイルの数
最近のプロジェクトで、特定のディレクトリ内のファイルの数を確認する必要が生じました。次のコードを実験しました:
<code class="php">$dir = opendir('uploads/'); $i = 0; while (false !== ($file = readdir($dir))) { if (!in_array($file, array('.', '..') and !is_dir($file)) $i++; } echo "There were $i files";</code>
しかし、結果を正しく表示する際に問題が発生しました。 FilesystemIterator クラスを使用したより効率的なアプローチをお勧めします。
<code class="php">$fi = new FilesystemIterator(__DIR__, FilesystemIterator::SKIP_DOTS); printf("There were %d Files", iterator_count($fi));</code>
このコードは、ファイル システム内のファイルとディレクトリを走査するための反復子を提供する FilesystemIterator クラスを利用します。 SKIP_DOTS フラグを指定すると、特殊なディレクトリ「.」をスキップします。とカウントの「..」。 iterator_count() 関数はイテレーター内の要素の数をカウントし、指定されたディレクトリ内の合計ファイル数を提供します。
以上がPHP ディレクトリ内のファイルを効率的に数えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。