php过去文件夹总数,php获取文件夹信息的统计函数

本节内容:

取得当前文件夹及子文件信息的php统计函数。

代码功能如下:

计算文件夹的大小,包括子文件夹,格式化输出文件夹大小、文件数、子文件夹数信息。

例1:

复制代码 代码示例:

//统计文件夹的相关信息

//统计目录数

//格式化输出目录大小 单位:Bytes,KB,MB,GB

function getFolderSize($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 = getFolderSize($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

{

$size=round($size/1024,1);

return $size." KB";

}

else if($size

{

$size=round($size/(1024*1024),1);

return $size." MB";

} www.jbxue.com

else

{

$size=round($size/(1024*1024*1024),1);

return $size." GB";

}

}

$path="/var/www";

$ar=getFolderSize($path);

echo "

您查看的路径 : $path
";

echo "目录大小 : ".sizeFormat($ar['size'])."
";

echo "文件数 : ".$ar['count']."
";

echo "目录数 : ".$ar['dircount']."
";

//输出

//print_r($ar);

?>

例2,php获取文件夹大小的函数

复制代码 代码示例:

// 获取文件夹大小

function getDirSize($dir)

{

$handle = opendir($dir);

while (false!==($FolderOrFile = readdir($handle)))

{

if($FolderOrFile != "." && $FolderOrFile != "..")

{

if(is_dir("$dir/$FolderOrFile"))

{

$sizeResult += getDirSize("$dir/$FolderOrFile");

}

else

{

$sizeResult += filesize("$dir/$FolderOrFile");

}

}

}

closedir($handle);

return $sizeResult;

}

// 单位自动转换函数

function getRealSize($size)

{

$kb = 1024;         // Kilobyte

$mb = 1024 * $kb;   // Megabyte

$gb = 1024 * $mb;   // Gigabyte

$tb = 1024 * $gb;   // Terabyte

if($size < $kb)

{

return $size." B";

}

else if($size < $mb)

{

return round($size/$kb,2)." KB";

}

else if($size < $gb)

{

return round($size/$mb,2)." MB";

}

else if($size < $tb)

{

return round($size/$gb,2)." GB";

}

else

{

return round($size/$tb,2)." TB";

}

}

echo  getRealSize(getDirSize('目录路径'));

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值