文件大小单位格式化,自动b,kb,mb,gb,tb

jerry thinkphp 2015年11月18日 收藏
上传的文件大小单位是byte
使用本函数可对文件大小格式化,转换成合适的单位,显示到模板中。
/**
 * 文件大小单位格式化
 * @param $bytes 文件实际大小,单位byte
 * @param $prec 转换后精确度,默认精确到小数点后两位
 * @return 转换后的大小+单位的字符串
 */
function fsizeformat($bytes,$prec=2){
    $rank=0;
    $size=$bytes;
    $unit="B";
    while($size>1024){
        $size=$size/1024;
        $rank++;
    }
    $size=round($size,$prec);
    switch ($rank){
        case "1":
            $unit="KB";
            break;
        case "2":
            $unit="MB";
            break;
        case "3":
            $unit="GB";
            break;
        case "4":
            $unit="TB";
            break;
        default :
            
    }
    return $size." ".$unit;
}
使用方法:将该函数添加到 项目Common/common.php 中,清空runtime后即可生效。你可以在控制器或者模板中直接调用,在模板中调用示例:
<p>文件大小:{$filesize|fsizeformat}</p>