if(is_dir($path."/".$item)){
//$func=__FUNCTION__;
//$sum+=$func($path."/".$item);
$sum+=dirSize($path."/".$item);
}
}
}
closedir($handle);
return $sum;
}
//$func=__FUNCTION__;
//$sum+=$func($path."/".$item);
$sum+=dirSize($path."/".$item);
}
}
}
closedir($handle);
return $sum;
}
2015-12-31
其實把函數這樣修改一下,就不用把sum變量弄成global了,遞歸函數應該是這樣用的:
function dirSize($path){
$sum=0;
//global $sum;
$handle=opendir($path);
while(($item=readdir($handle))!==false){
if($item!="."&&$item!=".."){
if(is_file($path."/".$item)){
$sum+=filesize($path."/".$item);
}
function dirSize($path){
$sum=0;
//global $sum;
$handle=opendir($path);
while(($item=readdir($handle))!==false){
if($item!="."&&$item!=".."){
if(is_file($path."/".$item)){
$sum+=filesize($path."/".$item);
}
2015-12-31
最贊回答 / _且行且思
end的參數是一個引用(reference),而你只能把一個變量的引用作為一個參數傳給函數,而你直接把explode('.',$name)作為參數傳給end函數,就有錯誤提示。你可以這樣修改,先定義一個變量,然后把這個變量傳給end函數,這樣應該可以取消這個提示<...code...>
2015-12-24