ホームページ >バックエンド開発 >PHPチュートリアル >PHP でサブディレクトリを再帰的に読み取り、ファイルを処理する方法

PHP でサブディレクトリを再帰的に読み取り、ファイルを処理する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-23 06:33:29621ブラウズ

How to Recursively Read Subdirectories and Process Files in PHP?

PHP でサブディレクトリを読み取り、ファイルを反復処理する方法

サブディレクトリ内のファイルを反復処理するには、PHP の再帰反復子を利用できます。

Recursive Directory Iterator

RecursiveDirectoryIterator クラスを使用すると、ディレクトリ構造を再帰的に走査できます。各反復は、ファイルまたはディレクトリを表す新しい SplFileInfo オブジェクトを返します。

Recursive Iterator Iterator

RecursiveIteratorIterator クラスは RecursiveDirectoryIterator をラップし、ディレクトリを横断する便利な方法を提供します。

サンプル コード

これらのイテレータの使用方法を示すコード スニペットの例を次に示します。

<code class="php">$main = "MainDirectory";
$di = new RecursiveDirectoryIterator($main, RecursiveDirectoryIterator::SKIP_DOTS);
$rii = new RecursiveIteratorIterator($di);

foreach ($rii as $filename => $file) {
    // Do something with each file
    echo "$filename - {$file->getSize()} bytes\n";
}</code>

このコードMainDirectory の RecursiveDirectoryIterator を初期化し、現在のディレクトリと親ディレクトリ (. および ..) をスキップします。次に、RecursiveIteratorIterator を作成し、ディレクトリ ツリーを反復処理します。ファイルに遭遇するたびに、ファイル名とファイル サイズをエコーし​​ます。

注: 各ファイル部分での処理を変更して、各ファイルに対して必要な操作を実行できます。この例では、各ファイルのファイル名とサイズを単純に出力します。

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

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