计算指定文件夹的信息(文件夹数,文件数,文件夹大小)
程序员文章站
2024-04-06 15:31:55
...
计算文件夹的大小,包括子文件夹,格式化输出文件夹大小、文件数、子文件夹数信息。
<? //代码也可以用于统计目录数 //格式化输出目录大小 单位:Bytes,KB,MB,GB function getDirectorySize($path) { $totalsize = 0; $totalcount = 0; $dircount = 0; if ($handle = opendir ($path)) { while (false !== ($file = readdir($handle))) { $nextpath = $path . '/' . $file; if ($file != '.' && $file != '..' && !is_link ($nextpath)) { if (is_dir ($nextpath)) { $dircount++; $result = getDirectorySize($nextpath); $totalsize += $result['size']; $totalcount += $result['count']; $dircount += $result['dircount']; } elseif (is_file ($nextpath)) { $totalsize += filesize ($nextpath); $totalcount++; } } } } closedir ($handle); $total['size'] = $totalsize; $total['count'] = $totalcount; $total['dircount'] = $dircount; return $total; } function sizeFormat($size) { $sizeStr=''; if($size<1024) { return $size." bytes"; } else if($size<(1024*1024)) { $size=round($size/1024,1); return $size." KB"; } else if($size<(1024*1024*1024)) { $size=round($size/(1024*1024),1); return $size." MB"; } else { $size=round($size/(1024*1024*1024),1); return $size." GB"; } } $path="/home/www/htdocs"; $ar=getDirectorySize($path); echo "<h4>路径 : $path</h4>"; echo "目录大小 : ".sizeFormat($ar['size'])."<br>"; echo "文件数 : ".$ar['count']."<br>"; echo "目录术 : ".$ar['dircount']."<br>"; //print_r($ar); ?>
上一篇: MySQL表修改的实际操作语法描述
下一篇: 浅谈PHP中JSON数据操作_PHP教程