首頁  >  文章  >  後端開發  >  如何在 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 標準函式庫中的兩個類別:RecursiveDirectoryIterator 和RecursiveIteratorIterator。讓我們分解一下程式碼:

  • RecursiveDirectoryIterator('foldername'): 初始化 'foldername' 中指定的資料夾的目錄迭代器。
  • new RecursiveIteratorIterator($directoryIterator): 建立一個迭代器,遞歸地迭代指定目錄中的所有目錄和檔案。

後續循環迭代目錄和子目錄中的所有文件,列印如果不是目錄,則為它們的名稱。

PHP 文件

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

以上是如何在 PHP 中遞歸列出目錄中的所有檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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