PHP递归遍历目录推荐使用RecursiveDirectoryIterator配合RecursiveIteratorIterator,简洁健壮、安全可控;支持基础遍历、条件筛选、异常处理及树形结构构建。

PHP递归遍历目录,核心是用 RecursiveDirectoryIterator 配合 RecursiveIteratorIterator,既简洁又健壮,比手写递归函数更安全、更易控制。
基础递归遍历:列出所有文件和子目录
这是最常用场景,适合快速查看整个目录结构:
- 创建
RecursiveDirectoryIterator实例,传入根路径(自动跳过.和..) - 用
RecursiveIteratorIterator包装它,启用深度优先遍历 - 遍历迭代器,用
getFilename()获取名称,isFile()/isDir()判断类型
示例代码:
$it = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator('/path/to/dir'),
RecursiveIteratorIterator::CHILD_FIRST
);
foreach ($it as $file) {
echo str_repeat(' ', $it->getDepth()) . $file->getFilename();
if ($file->isDir()) echo ' [DIR]';
echo PHP_EOL;
}登录后复制
按条件筛选文件:只找特定扩展名或大小范围
实际开发中往往不需要全部内容,比如只查 .php 文件或大于 10KB 的日志:
立即学习“PHP免费学习笔记(深入)”;
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~