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

PHP でディレクトリ内のすべてのファイルを再帰的にリストするにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-03 22:06:31249ブラウズ

How do I recursively list all files in a directory in PHP?

PHP での再帰的ファイルのリスト

ディレクトリ内のすべてのファイルのリストを取得することは、PHP の一般的なタスクです。ただし、サブディレクトリのファイルも含める必要がある場合はどうすればよいでしょうか?このガイドでは、これを実現する方法について説明します。

解決策

サブディレクトリ内のファイルを含む、ディレクトリ内のすべてのファイルを一覧表示するには、次のコードを利用できます。

<code class="php">foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator('.')) as $filename) {
    // Filter out "." and ".."
    if ($filename->isDir()) continue;

    echo "$filename\n";
}</code>

説明

このソリューションは、PHP 標準ライブラリの 2 つのクラス、RecursiveDirectoryIterator と RecursiveIteratorIterator を使用します。コードを詳しく見てみましょう:

  • RecursiveDirectoryIterator('foldername'): 'foldername' で指定されたフォルダーのディレクトリ イテレータを初期化します。
  • new RecursiveIteratorIterator($directoryIterator): 指定されたディレクトリ内のすべてのディレクトリとファイルを再帰的に反復する反復子を作成します。

後続のループは、ディレクトリとサブディレクトリ内のすべてのファイルを反復して出力します。ディレクトリでない場合は、その名前。

PHP Documentation

  • [RecursiveDirectoryIterator](https://www.php.net/manual/en/class.recursivedirectoryiterator.php)
  • [RecursiveIteratorIterator](https://www.php.net/manual/en/class.recursiveiteratoriterator.php)

以上がPHP でディレクトリ内のすべてのファイルを再帰的にリストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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