為啥報錯,說$arr未定義(return $arr;)?
<?php
//打開指定目錄
/**
?* 遍歷目錄函數,只讀取目錄中的最外層的內容
?* @param string $path
?* @return array
?*/
function readDirectory($path){
$handle=opendir($path); ? //打開指定目錄
while($item=readdir($handle)!==false){
//.和..2個特殊目錄,.表示當前目錄,..表示上級目錄
if(($item!=".") && ($item!="..")){
if(is_file($path."/".$item)){
$arr['file'][]=$item;
}
if(is_dir($path."/".$item)){
$arr['dir'][]=$item;
}
else {echo "empty";}
}
}
closedir($handle);
return $arr;
}
$path="file";
print_r(readDirectory($path));
2015-07-13
因為括號的問題 ?你存儲到 ?$arr里的 數據全是 boolean ?類型的數據 ?導致報錯了
2016-11-28
在函數開頭定義個$arr=[];就算file目錄下無文件都可以返回個空數組,不會報錯.
2015-07-13
你代碼寫錯了while (($pathname = readdir($handle)) !== false)
2015-07-12
想問你一下,$arr['file'][]=$item;這里面的$arr數組的定義在哪里呢?
2015-07-11
<?php
//打開指定目錄
/**
?* 遍歷目錄函數,只讀取目錄中的最外層的內容
?* @param string $path
?* @return array
?*/
function readDirectory($path){
$handle=opendir($path); ? //打開指定目錄
while($item=readdir($handle)!==false){
//.和..2個特殊目錄,.表示當前目錄,..表示上級目錄
if(($item!=".") && ($item!="..")){
if(is_file($path."/".$item)){
$arr['file'][]=$item;
}
if(is_dir($path."/".$item)){
$arr['dir'][]=$item;
}
else {echo "empty";}
}
}
closedir($handle);
return $arr;
}
$path="file";
print_r(readDirectory($path));
2015-07-11
你把代碼貼出來給我們看看撒!以后這樣的問題,先把代碼貼出來再問呢。