php遍历文件夹下的所有文件和子文件夹示例
PHP文件夹:遍历所有文件和子文件夹
本文将向你展示如何使用PHP遍历一个文件夹下的所有文件和子文件夹。这里提供了两种实用的方法,需要的朋友不妨参考。
方法一:使用递归函数遍历目录并将结果存入数组。此代码支持PHP4及以上版本。对于PHP5及以上版本,可以使用scandir()函数简化while循环。代码如下:
```php
function my_scandir($dir) {
$files = array();
if ($handle = opendir($dir)) {
while (($file = readdir($handle)) !== false) {
if ($file != ".." && $file != ".") {
if (is_dir($dir . "/" . $file)) {
$files[$file] = my_scandir($dir . "/" . $file);
} else {
$files[] = $file;
}
}
}
closedir($handle);
return $files;
}
}
```
另一种实现方式如下:
```php
function my_scandir1($dir) {
$files = array();
$dir_list = scandir($dir);
foreach ($dir_list as $file) {
if ($file != ".." && $file != ".") {
if (is_dir($dir . "/" . $file)) {
$files[$file] = my_scandir1($dir . "/" . $file);
} else {
$files[] = $file;
}
}
}
return $files;
}
```
使用方法很简单,只需调用这两个函数并传入要遍历的目录即可,例如:`$result = my_scandir('./');` 或 `$result = my_scandir1('./');`。
方法二:使用glob()函数和递归调用。代码如下:
```php
function fetchDir($dir) {
foreach (glob($dir . DIRECTORY_SEPARATOR . '') as $file) {
echo $file . PHP_EOL; // 使用PHP_EOL换行符跨平台兼容
if (is_dir($file)) {
fetchDir($file); // 递归调用fetchDir()函数遍历子目录
. . . } } } fetchDir("D:\wamp\any");
```这个函数会输出指定目录下的所有文件路径(包括子目录中的文件)。它使用了跨平台的目录分隔符和换行符,使得代码更具通用性。只需调用`fetchDir()`函数并传入要遍历的目录路径即可。例如:`fetchDir("D:\wamp\any");`。这样,你就可以轻松遍历并获取指定目录下的所有文件和子文件夹了。希望这些方法对你有所帮助!
编程语言
- php遍历文件夹下的所有文件和子文件夹示例
- jQuery实现的模仿雨滴下落动画效果
- 设计windows phone页面主题
- jquery点击改变class并toggle的实现代码
- AngularJS基础 ng-disabled 指令详解及简单示例
- Ajax 加载数据 练习代码
- jquery遍历函数siblings()用法实例
- thinkPHP基于ajax实现的菜单与分页示例
- JSP中springmvc配置validator的注意事项
- BootStrap模态框和select2合用时input无法获取焦点的
- 关于多对多关系表无法更新与插入的问题
- SQLServer 循环批处理
- JQuery实现可直接编辑的表格
- Laravel实现自定义错误输出内容的方法
- js数字舍入误差以及解决方法(必看篇)
- AngularJS表单基本操作