ホームページ >バックエンド開発 >PHPチュートリアル >PHP ディレクトリ内のファイルを効率的に数えるにはどうすればよいですか?

PHP ディレクトリ内のファイルを効率的に数えるにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-06 02:58:02970ブラウズ

How to Efficiently Count Files in a PHP Directory?

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 サイトの他の関連記事を参照してください。

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