上篇文章我们介绍了一下php中获取文件大小的方法,但php获取的文件大小的单位是以字节来表示的,也就是单位B。那么今天就来说一下,如何以合适的单位来表示文件的大小,请用户更好的理解和阅读。

PHP 获取文件大小并转化为KB、MB、GB单位。

示例代码1:

php代码:

<?php
//输入的是以字节为单位的数字
//函数会自动转成合适的单位
function getSize($filesize) {
    if ($filesize >= 1073741824) {
        //转成GB
        $filesize = round($filesize / 1073741824 * 100) / 100 . ' GB';
    } elseif ($filesize >= 1048576) {
        //转成MB
        $filesize = round($filesize / 1048576 * 100) / 100 . ' MB';
    } elseif ($filesize >= 1024) {
        //转成KB
        $filesize = round($filesize / 1024 * 100) / 100 . ' KB';
    } else {
        //不转换直接输出
        $filesize = $filesize . ' 字节';
    }
    return $filesize;
}
?>

函数调用代码:

<?php
echo getSize(10241024);
//输出结果:9.77 MB
?>

示例代码2:

php代码:

<?php
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];
}
?>

代码调用:

<?php
echo formatBytes(31025855); 
输出结果:29.59 MB
?>