PHP获取文件夹的大小

<?php
// 获取文件夹大小
function getDirSize($dir)
{ 
    $handle = opendir($dir);
    $sizeResult = 0;
    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('需要获取大小的目录'));
?>

  

原文地址:https://www.cnblogs.com/bullz/p/2249670.html