遞歸讀取文件夾文件
發布時間: 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/>";
}
}
熱點內容