PHP: サブディレクトリ内のファイルを再帰的にリストする
サブディレクトリを含むディレクトリ内のすべてのファイルをリストし、結果を配列に格納するには、 PHP には、連携して動作するいくつかの組み込み関数が用意されています。
RecursiveIteratorIterator と RecursiveDirectoryIterator の使用
次のコードは、目的の結果を達成する方法を示しています。
<code class="php">$directory = "foldername"; // Create a RecursiveDirectoryIterator object for the specified directory $directoryIterator = new RecursiveDirectoryIterator($directory); // Create a RecursiveIteratorIterator object for the directory iterator $iterator = new RecursiveIteratorIterator($directoryIterator, RecursiveIteratorIterator::SELF_FIRST); // Initialize an empty array to store the file names $files = []; // Iterate over the files in the directory foreach ($iterator as $filename) { // Filter out "." and ".." directories if ($filename->isDir()) { continue; } // Add the file name to the array $files[] = $filename; }</code>
説明
RecursiveDirectoryIterator クラスは、指定されたパス内のファイルとディレクトリを反復処理するオブジェクトを作成します。 RecursiveIteratorIterator クラスは、RecursiveIterator オブジェクトに対する再帰的反復を提供し、サブディレクトリも確実に探索されるようにします。
「.」をフィルタリングすることにより、 isDir() メソッドを使用して ".." ディレクトリを作成する場合、実際のファイルのみを $files 配列に追加します。
PHP Documentation
以上がPHP でサブディレクトリ内のファイルを再帰的に一覧表示する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。