递归循环遍历每一个目录的php函数

发布时间:2019-08-06编辑:脚本学堂
遍历一个文件夹里面的所有目录,列出里面所有的文件,PHP本身自带的有一个readdir的函数,不过只能读取当前的目录。参照这个函数,我写了另外一个函数,用来实现我的需求。

函数的原理很简单,主要就是用了一下递归调用
下面来看代码。
 

复制代码 代码如下:
<?php
function file_list($path){
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
if (is_dir($path."/".$file)) {
echo $path.": ".$file."<br>";//去掉此行显示的是所有的非目录文件
file_list($path."/".$file);
} else {
echo $path.": ".$file."<br>";
}
}
}
}
}
?>

此函数还可以做进一步改进,加入一些文件夹或文件的图标什么的,这样就可以做成更强大的一个函数。