/** * 计算目录以及子目录所有文件的大小 * * @param unknown $dir 目录 * @return number */ function dirsize($dir){ $dh = opendir($dir); $size = 0; while($file = readdir($dh)){ if($file != '.' and $file != '..'){ // 忽略当前目录和返回上一层 $path = $dir . "/" . $file; if(@is_dir($path)){ $size += dirsize($path); // 递归计算子目录大小 }else{ $size += filesize($path); } } } @closedir($dh); return $size; }