ホームページ > バックエンド開発 > PHPチュートリアル > PHP でサブディレクトリ内のファイルを再帰的に一覧表示する方法

PHP でサブディレクトリ内のファイルを再帰的に一覧表示する方法

Mary-Kate Olsen
リリース: 2024-11-03 17:59:29
オリジナル
978 人が閲覧しました

How to Recursively List Files in Subdirectories with PHP?

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

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

以上がPHP でサブディレクトリ内のファイルを再帰的に一覧表示する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート