例子,php递归获取目录中文件,也包括子目录中的。
php递归函数代码:
复制代码 代码示例:
function readFileFromDir($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 />';
} elseif (is_dir($file)) {
readFileFromDir($file);
}
}
}
调用方式:
复制代码 代码示例:
$dir = '/home/www/test';
readFileFromDir($dir);
在php手册中还有一个方法scandir,此方法会一次性获取单级目录下的所有文件,存放到数组里,如果目录中文件比较多,效率会差一些。