首頁 >後端開發 >php教程 >如何在PHP中遞歸讀取子目錄並處理檔案?

如何在PHP中遞歸讀取子目錄並處理檔案?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-23 06:33:29620瀏覽

How to Recursively Read Subdirectories and Process Files in PHP?

如何在PHP 中讀取子目錄並迭代文件

要迭代子目錄中的文件,您可以利用PHP 的遞歸迭代器。

遞歸目錄迭代器

RecursiveDirectoryIterator 類別可讓您遞歸地遍歷目錄結構。每次迭代都會傳回一個新的 SplFileInfo 對象,該物件表示檔案或目錄。

遞歸迭代器 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 的RecursiveDitoryIterator並跳過目前目錄和父目錄(. 和..)。然後,它會建立一個 RecursiveIteratorIterator 並迭代目錄樹。每次遇到檔案時,它都會回顯檔案名稱和檔案大小。

注意:您可以修改每個文件部分的 do some 來對每個文件執行所需的操作。此範例僅列印每個文件的文件名和大小。

以上是如何在PHP中遞歸讀取子目錄並處理檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn