PHP文件大小并转化为KB、MB、GB、TB单位,可通过封装函数进行单位转换,有两种方法可以实现,这里我分别介绍两种函数封装,都是经过测试均可使用的。
function getSize($filesize) {
//换算
$KB = 1024;
$MB = $KB * 1024;
$GB = $MB * 1024;
$TB = $GB * 1024;
if ($filesize < $KB) {
return $filesize . 'B';
} else if ($filesize < $MB) {
//取两位小数四舍五入
return ($filesize / $KB, 2) . 'KB';
} else if ($filesize < $GB) {
return ($filesize / $MB, 2) . 'MB';
} else if ($filesize < $TB) {
return ($filesize / $GB, 2) . 'GB';
} else {
return ($filesize / $TB, 2) . 'TB';
}
}
或:
function formatBytes($size) {
$units = [' B', ' KB', ' MB', ' GB', ' TB'];
for ($i = 0; $size >= 1024 && $i < 4; $i++) $size /= 1024;
return round($size, 2) . $units[$i];
}
echo formatBytes(310258); // 302.99 KB