php遍历一个文件夹下的所有目录及文件
封面图
•
2025-10-29
•
PHP
291
0
0
0
在 PHP 中,你可以使用 `scandir()` 或者 `RecursiveDirectoryIterator` 来遍历一个文件夹下的所有目录和文件。下面是两种常见的实现方式。 --- ## ✅ 方法一:使用 `scandir()` 递归遍历 ```php function traverseFolder($dir) { $files = scandir($dir); foreach ($files as $file) { if ($file === '.' || $file === '..') continue; $path = $dir . '/' . $file; if (is_dir($path)) { echo "目录: " . $path . "\n"; traverseFolder($path); // 递归遍历子目录 } else { echo "文件: " . $path . "\n"; } } } // 调用函数 traverseFolder('/your/folder/path'); ``` --- ## ✅ 方法二:使用 `RecursiveDirectoryIterator`(面向对象) ```php $iterator = new RecursiveDirectoryIterator('/your/folder/path', FilesystemIterator::SKIP_DOTS); foreach (new RecursiveIteratorIterator($iterator) as $file) { if ($file->isDir()) { echo "目录: " . $file->getPathname() . "\n"; } else { echo "文件: " . $file->getPathname() . "\n"; } } ``` --- ## 📌 说明: - `scandir()` 返回目录中的所有文件和子目录名。 - `is_dir()` 判断是否为目录。 - `RecursiveDirectoryIterator` 是更现代、更强大的方式,适合处理深层嵌套的目录结构。 - `FilesystemIterator::SKIP_DOTS` 可以跳过 `.` 和 `..` 这两个特殊目录。 --- 如果你有特定需求(比如只遍历文件、过滤某些类型等),可以告诉我,我可以帮你定制代码。
上一篇:
用PHP做负载均衡指南
下一篇:
PHP Wap开发环境配置
标题录入,一次不能超过6条
留言
评论