protected function dir_size($dir){ $dh = opendir($dir); //打开目录,返回一个目录流 $size = 0; //初始大小为0 while(false !== ($file = @readdir($dh))){ //循环读取目录下的文件 if($file!=‘.‘ and $file!=‘..‘){ $path = $dir.‘/‘.$file; //设置目录,用于含有子目录的情况 if(is_dir($path)){ $size += $this->dir_size($path); //递归调用,计算目录大小 }elseif(is_file($path)){ $size += filesize($path); //计算文件大小 } } } closedir($dh); //关闭目录流 return $size; //返回大小 }
原文:http://www.cnblogs.com/sbfnxk201/p/3900925.html