递归读取文件夹文件
发布时间: 2023-06-07 05:00:06
你没有去除目录下的"."和“..”的情况,还有就是你is_dir里那个参数判断有问题,你参数路径不完整,然后就是你的$file没有全局。
"."是上一级目录,".."是当前目录,循环到这两个的时候就陷入死循环了,你有再大的空间也不够。
修改后的方法是:
functionGetAllFileByDir($fileDir)
{
global$num,$files;
$MyArry=scandir($fileDir);
for($j=0;$j<count($MyArry);$j++)
{
if($MyArry[$j]!="."&&$MyArry[$j]!=".."&&is_dir($fileDir."/".$MyArry[$j]))
{
GetAllFileByDir($fileDir."/".$MyArry[$j]);
}
elseif($MyArry[$j]!="."&&$MyArry[$j]!="..")
{
$files[$num]=$MyArry[$j];
$num++;
}
}
}
GetAllFileByDir("d:/test");
if(count($files)>0)
{
for($s=0;$s<count($files);$s++)
{
echo$files[$s]."<br/>";
}
}
热点内容