php 递归获取指定目录下,所有子级、孙级文件路径。
2016-11-24 17:13
836 查看
function readFileFromDir($dir,&$a) {
if (!is_dir($dir)) {
return false;
}
//打开目录
$handle = opendir($dir);
while (($file = readdir($handle)) !== false) {
//排除掉当前目录和上一个目录
if ($file == "." || $file == "..") {
continue;
}
$file = $dir . DIRECTORY_SEPARATOR . $file;
//如果是文件就打印出来,否则递归调用
if (is_file($file)) {
//print $file . '<br />';
$a[] = $file;
//sleep(1);
//myLog($a,__LINE__);
} elseif (is_dir($file)) {
readFileFromDir($file,$a);
}
}
}
注释:将每一次执行函数获取到的路径作为$a数组的值传入里面,然后递归再次调用readFileFromDir的时候,$a需要取地址符调用,不然$a不会保留上一次函数执行得到的文件路径。 即&$a传入。
由于php 5.4版本以后,在调用函数的时候,不能传入地址符,否则报错。故调用方法是 readFileFromDir($dir,$a); $dir,在调用之前可以定义,你要指定的目录。
if (!is_dir($dir)) {
return false;
}
//打开目录
$handle = opendir($dir);
while (($file = readdir($handle)) !== false) {
//排除掉当前目录和上一个目录
if ($file == "." || $file == "..") {
continue;
}
$file = $dir . DIRECTORY_SEPARATOR . $file;
//如果是文件就打印出来,否则递归调用
if (is_file($file)) {
//print $file . '<br />';
$a[] = $file;
//sleep(1);
//myLog($a,__LINE__);
} elseif (is_dir($file)) {
readFileFromDir($file,$a);
}
}
}
注释:将每一次执行函数获取到的路径作为$a数组的值传入里面,然后递归再次调用readFileFromDir的时候,$a需要取地址符调用,不然$a不会保留上一次函数执行得到的文件路径。 即&$a传入。
由于php 5.4版本以后,在调用函数的时候,不能传入地址符,否则报错。故调用方法是 readFileFromDir($dir,$a); $dir,在调用之前可以定义,你要指定的目录。
相关文章推荐
- php获取目录下所有文件路径(递归)
- 对指定的目录进行递归获取递归过程所有的java文件的路径。
- PHP获取指定目录下的所有文件,递归到子文件夹
- PHP递归获取目录内所有文件
- 获取指定目录及其子目录下所有文件的绝对路径
- 【原创】C# 递归获取指定目录的子目录及其所有文件
- IO流_递归输出指定目录下所有的java文件的绝对路径案例
- java 递归获取一个目录下的所有文件路径
- Asp.net 获取指定目录下的后缀名为".doc" 的所有文件名和文件路径
- PHP递归获取目录内所有文件的实现方法
- 递归列出指定目录下的所有文件的绝对路径
- PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
- android 获取指定路径下所有文件,将文件从一个目录copy到另一个目录,执行linux命令
- C#取得指定路径下所有目录及文件名称(可递归)
- PHP中获取目录及子目录下的所有文件路径和目录路径
- Java利用递归思想遍历指定目录,获取所有的文件
- PHP中获取目录及子目录下的所有文件路径和目录路径
- 取得指定路径下所有目录及文件名称(递归)
- php 获取指定目录下的所有文件名和路径(包括子目录)
- PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)