首页 > 后端开发 > 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);
登录后复制

示例输出

该函数将返回一个数组,其中包含指定目录(包括子目录)中所有文件和文件夹的路径。例如,给定目录 /xampp/htdocs/WORK,输出可能如下所示:

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)
登录后复制

以上是如何使用 PHP 递归遍历目录并获取所有文件和文件夹路径?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板