php递归获取目录与子目录中文件

发布时间:2021-01-11编辑:脚本学堂
分享一个php递归获取目录与子目录中文件的函数代码,php递归函数的小例子,需要的朋友参考下。

例子,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,此方法会一次性获取单级目录下的所有文件,存放到数组里,如果目录中文件比较多,效率会差一些。