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

PHP 获得文件夹大小 计算文件_PHP教程

程序员文章站 2022-05-26 10:32:31
...

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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/486551.htmlTechArticle?php function getDirSize($dir) { $handle = opendir($dir); while (false!==($FolderOrFile = readdir($handle))) { if($FolderOrFile != . $FolderOrFile != ..) { if(is_dir($dir/$FolderOr...