工具函数-js-PHP 转换文件大小

js

let formatSize = v => {
   var s = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];
   var e = Math.floor(Math.log(v)/Math.log(1024));
   return (v/Math.pow(1024, Math.floor(e))).toFixed(2)+" "+s[e];
};

php版

function formatSize($b,$times=0){
    if($b>1024){
        $temp=$b/1024;
        return $this->formatSize($temp,$times+1);
    }else{
        $unit='B';
        switch($times){
            case '0':$unit='B';break;
            case '1':$unit='KB';break;
            case '2':$unit='MB';break;
            case '3':$unit='GB';break;
            case '4':$unit='TB';break;
            case '5':$unit='PB';break;
            case '6':$unit='EB';break;
            case '7':$unit='ZB';break;
            default: $unit='单位未知';
        }
        $tmp = explode('.',$b);
        count($tmp)==2 ? $tmp[1] = substr($tmp[1],0,2): $tmp[1] = '';
        return (implode('.',$tmp).$unit);
    }
}