_FUNCTION_()
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);
}
if(is_dir($path.'/'.$item)){
? ?$func=_FUNCTION_;
$func($path.'/'.$item);//遞歸,函數自己調用自己
}
}
}
closedir($handle);
return $sum;
}
$path='testfile';
echo dirSize($path);
如果testfile中只有文件,沒有文件夾則輸出正確;
如果testfile中還存在文件夾則提示:
Fatal error: Call to undefined function _FUNCTION_() in?C:\wamp\www\file\dir.func.php?on line?34
2017-07-17
語法錯誤,是__FUNCTION__,左右都是兩個下劃線。沒有文件夾的時候,程序走不到if(is_dir)里邊,所以你沒報錯