php雖然有filesize的函式,但是取得的單位卻是Bytes,不方便閱讀,所以我試著寫一個轉換單位的函式來使用,程式如下:

//*********************
//  檔案大小單位轉換函式
//*********************
function file_size_unit($size,$decimal=2){
    //設定單位
    $size_unit = array('Bytes','KB','MB',
                       'GB','TB','PB',
                       'EB','ZB','YB');
    //初始化索引
    $flag = 0;
    //進行簡化除算
    while($size >= 1024){
        $size = $size / 1024;
        $flag++;
    }
    //回傳大小與單位
    return array(
        'size' => number_format($size,$decimal),
        'unit' => $size_unit[$flag]
    );
}

//原始檔案大小
$size = 574168418;
echo '原始大小表示為:'.$size.'Bytes';

//測試結果
$size = file_size_unit($size);
echo '轉換後大小表示為:'.$size['size'].$size['unit'];

低溫烘培 發表在 痞客邦 PIXNET 留言(0) 人氣()