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
{
return $size." B";
}
else if($size
{
return round($size/$kb,2)." KB";
}
else if($size
{
return round($size/$mb,2)." MB";
}
else if($size
{
return round($size/$gb,2)." GB";
}
else
{
return round($size/$tb,2)." TB";
}
}
echo getRealSize(getDirSize(dirname($_SERVER[SCRIPT_FILENAME])./include/));
?>
#########################################################
//function dirsize($dir)
//{
// $handle=opendir($dir);
// $size = 0;
// while ( $file=readdir($handle) )
// {
// if ( ( $file == "." ) || ( $file == ".." ) ) continue;
// if ( is_dir("$dir/$file") )
// $size += dirsize("$dir/$file");
// else
// $size += filesize("$dir/$file");
// }
// closedir($handle);
// return $size;
//}
//$big=dirsize(dirname($_SERVER[SCRIPT_FILENAME])."/");
//echo $big;
得到的结果是小数点后两位的
$big*1024 得到单位为KB