這樣是不是會(huì)好一點(diǎn)
感覺(jué)老師的有些代碼看起來(lái)比較高大上,但是可能會(huì)造成基礎(chǔ)差一點(diǎn)的童鞋不能愉快的理解,比如這一段
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);
和一個(gè)全局變量來(lái)實(shí)現(xiàn)遞歸,但是不是很好理解呀,如果這樣寫(xiě)
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; }
不需要全局,也易于理解了..
不過(guò)上面的寫(xiě)法看起來(lái)逼格比較高,哈哈
2016-07-14
寫(xiě)慣了C,我也是一開(kāi)始就想到這種方法。
2016-04-13
你的確實(shí)利于理解。