上篇文章我們介紹了一下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
?>