// 获取文件夹大小
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;
}
/**
* [calc 单位转换]
* @param [type] $size [description]
* @return [type] [description]
* 示例:
* echo calc(2655584);
*/
function calc($size,$digits=2){
if (!$size){
$size = 1;//如果是0,则会出现输出NAN
}
$unit= array('','K','M','G','T','P');
$base= 1024;
$i = floor(log($size,$base));
$n = count($unit);
if($i >= $n){
$i=$n-1;
}
return round($size/pow($base,$i),$digits).' '.$unit[$i] . 'B';
}
评论