首頁 >後端開發 >php教程 >如何使用 PHP 遞歸列出目錄中的所有檔案和資料夾,避免無限循環和重複條目?

如何使用 PHP 遞歸列出目錄中的所有檔案和資料夾,避免無限循環和重複條目?

Linda Hamilton
Linda Hamilton原創
2024-12-02 10:05:15841瀏覽

How Can I Recursively List All Files and Folders in a Directory Using PHP, Avoiding Infinite Loops and Duplicate Entries?

利用遞歸 PHP 函數決定目錄中的檔案和資料夾

本討論研究遞歸遍歷目錄檔案和子目錄的方法。

提供的程式碼:

困境:
給定的程式碼擁有用於探索目錄和檔案的遞歸函數。但是,它無法忽略“.”。和“..”,導致潛在的無限循環。而且,每個檔案和目錄在結果中都是重複的。

答案:
為了解決這個問題,我們可以修改函數如下:

這段程式碼:

  • 🎜>這段程式碼:
  • 呼叫realpath()函數來檢索每個檔案和目錄的實際路徑,消除任何潛在的遍歷問題。
  • 忽略由「.」表示的目錄或 '..',這可能導致無限循環。
透過將結果儲存在按引用傳遞的陣列 (&$results) 中來避免結果中的重複條目。

以上是如何使用 PHP 遞歸列出目錄中的所有檔案和資料夾,避免無限循環和重複條目?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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