php计算指定文件夹信息(文件夹数,文件数,文件夹大小)
时间:2021-07-01 10:21:17
帮助过:65人阅读
- //格式化输出目录大小 单位:Bytes,KB,MB,GB
- //也可以用于统计目录数
- //site bbs.it-home.org
- 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 "
路径 : $path"; - echo "目录大小 : ".sizeFormat($ar['size'])."
"; - echo "文件数 : ".$ar['count']."
"; - echo "目录术 : ".$ar['dircount']."
"; -
- //print_r($ar);
- ?>
|