这样是不是会好一点
感觉老师的有些代码看起来比较高大上,但是可能会造成基础差一点的童鞋不能愉快的理解,比如这一段
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);
//$sum += dirSize($path.'/'.$item);
}
}
}
closedir($handle);
return $sum;
}老师这里用
$func = __FUNCTION__; $func($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);
}
if(is_dir($path.'/'.$item)){
/*$func = __FUNCTION__;
$func($path.'/'.$item);*/
$sum += dirSize($path.'/'.$item);
}
}
}
closedir($handle);
return $sum;
}不需要全局,也易于理解了..
不过上面的写法看起来逼格比较高,哈哈