PHP を使用してディレクトリ内のファイルを数える方法: Opendir/Readdir と FilesystemIterator の比較?

Mary-Kate Olsen
リリース: 2024-11-05 03:11:02
オリジナル
135 人が閲覧しました

How to Count Files in a Directory with PHP: Opendir/Readdir vs. FilesystemIterator?

PHP でディレクトリ内のファイルを数える

PHP でディレクトリを操作する場合、ディレクトリ内に存在するファイルの数を確認すると便利なことがよくあります。これを実現するには、いくつかの方法が利用可能です。

方法 1: Opendir() と Readdir() を使用する

従来のアプローチでは、opendir() と readdir() を使用します。 ) 機能。これらの関数では、明示的なディレクトリ パスの操作とファイルに対する手動の反復が必要です。提供したコード スニペットに見られるように:

<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>
ログイン後にコピー

このメソッドは機能しますが、特定の状況では面倒になる可能性があります。

方法 2: SPL FilesystemIterator を使用する

より現代的な代替方法は、SPL FilesystemIterator クラスを利用することです。このイテレータにより、より便利で効率的なディレクトリ スキャンが可能になります。次に例を示します。

<code class="php">$fi = new FilesystemIterator(__DIR__, FilesystemIterator::SKIP_DOTS);
printf("There were %d Files", iterator_count($fi));</code>
ログイン後にコピー

このコード内:

  • __DIR__ は、現在のディレクトリ パスを表します。
  • FilesystemIterator::SKIP_DOTS は、反復子に隠しファイルを無視するように指示します。 (ピリオドで始まります)。
  • iterator_count() は、ディレクトリ内のファイルの総数を返します。

このメソッドはコードを簡素化し、ディレクトリ内のファイルをカウントするためのより洗練されたソリューションを提供します。ディレクトリ。

以上がPHP を使用してディレクトリ内のファイルを数える方法: Opendir/Readdir と FilesystemIterator の比較?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!