欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP 获得文件夹大小 计算文件

程序员文章站 2024-02-09 22:54:40
...

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