首頁 > 後端開發 > php教程 > 如何使用 PHP 遞歸遍歷目錄並取得所有檔案和資料夾路徑?

如何使用 PHP 遞歸遍歷目錄並取得所有檔案和資料夾路徑?

DDD
發布: 2024-12-15 06:46:15
原創
247 人瀏覽過

How Can I Recursively Walk a Directory and Get All File and Folder Paths Using PHP?

使用PHP 函數遞歸遍歷目錄

如果您需要遍歷目錄及其子目錄,尋找包含的每個檔案和資料夾在其中,您可以建立一個遞歸PHP 函數來處理該任務。具體方法如下:

遞歸函數實作

function getDirContents($dir, &$results = array()) {
    $files = scandir($dir);

    foreach ($files as $key => $value) {
        $path = realpath($dir . DIRECTORY_SEPARATOR . $value);
        if (!is_dir($path)) {
            $results[] = $path;
        } else if ($value != "." && $value != "..") {
            getDirContents($path, $results);
            $results[] = $path;
        }
    }

    return $results;
}
登入後複製

用法

像這樣呼叫函數:

用法
$results = getDirContents('/xampp/htdocs/WORK');
var_dump($results);
登入後複製

像這樣呼叫函數:

array (size=12)
  0 => string '/xampp/htdocs/WORK/iframe.html' (length=30)
  1 => string '/xampp/htdocs/WORK/index.html' (length=29)
  2 => string '/xampp/htdocs/WORK/js' (length=21)
  3 => string '/xampp/htdocs/WORK/js/btwn.js' (length=29)
  4 => string '/xampp/htdocs/WORK/js/qunit' (length=27)
  5 => string '/xampp/htdocs/WORK/js/qunit/qunit.css' (length=37)
  6 => string '/xampp/htdocs/WORK/js/qunit/qunit.js' (length=36)
  7 => string '/xampp/htdocs/WORK/js/unit-test.js' (length=34)
  8 => string '/xampp/htdocs/WORK/xxxxx.js' (length=30)
  9 => string '/xampp/htdocs/WORK/plane.png' (length=28)
  10 => string '/xampp/htdocs/WORK/qunit.html' (length=29)
  11 => string '/xampp/htdocs/WORK/styles.less' (length=30)
登入後複製
範例輸出函數將傳回一個數組,其中包含指定目錄(包括子目錄)中所有檔案和資料夾的路徑。例如,給定目錄 /xampp/htdocs/WORK,輸出可能如下所示:

以上是如何使用 PHP 遞歸遍歷目錄並取得所有檔案和資料夾路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板