PHP 字节单位大小转换

查看 Prism.js 的源代码发现作者居然是 css secrets 的作者,666。可惜这个插件只支持

  • ‘js’: ‘javascript’,
  • ‘py’: ‘python’,
  • ‘rb’: ‘ruby’,
  • ‘ps1’: ‘powershell’,
  • ‘psm1’: ‘powershell’,
  • ‘sh’: ‘bash’,
  • ‘bat’: ‘batch’,
  • ‘h’: ‘c’,
  • ‘tex’: ‘latex’

这几种语言,木有 PHP 高亮的。

function formatSize($b,$times=0){
    if($b>1024){
        $temp=$b/1024;
        return 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); //保留小数点后两位,没有四舍五入
    }
}