/** * @Purpose : 利用递归的方式统计目录的大小 * @Author : chrdai * @Method Name : dirSize() * @parameter : string $dirName 需要统计大小的目录 * @return : string $dirsize 目录大小 */ function dirSize($dirName){ $dirsize=0; $dir=opendir($dirName); while($fileName=readdir($dir)){ $file=$dirName."/".$fileName; if($fileName!="." && $fileName!=".."){ // 一定要进行判断,否则会出现错误的 if(is_dir($file)){ $dirsize+=dirSize($file); // 这个地方必须是 $dirsize += 是若目录,再次递归的时候,$dirsize 又被重新置 0 了 } else{ $dirsize+=filesize($file); } } } closedir($dir); return $dirsize; }
disk_total_space('文件夹名或者磁盘名'); // 计算该文件夹或者磁盘的总存储空间