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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-04 13:37:36704ブラウズ

How to Count Files Within a Directory in PHP?

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

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