全能的字节单位转换函数

WBOY
Freigeben: 2016-07-25 08:49:50
Original
1304 Leute haben es durchsucht
容量单位计算,支持定义小数保留长度;定义起始和目标单位,或按1024自动进位
                   
                               
                                       
                                       
            
  1. class Util {
  2.     /**
  3.      * 容量单位计算,支持定义小数保留长度;定义起始和目标单位,或按1024自动进位
  4.      *
  5.      * @param int $size,容量计数
  6.      * @param type $unit,容量计数单位,默认为字节
  7.      * @param type $decimals,小数点后保留的位数,默认保留一位
  8.      * @param type $targetUnit,转换的目标单位,默认自动进位
  9.      * @return type 返回符合要求的带单位结果
  10.      */
  11.     static function fileSizeConv($size, $unit = 'B', $decimals = 1, $targetUnit = 'auto') {
  12.         $units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB');
  13.         $theUnit = array_search(strtoupper($unit), $units); //初始单位是哪个
  14.         //判断是否自动计算,
  15.         if ($targetUnit != 'auto')
  16.             $targetUnit = array_search(strtoupper($targetUnit), $units);
  17.         //循环计算
  18.         while ($size >= 1024) {
  19.             $size/=1024;
  20.             $theUnit++;
  21.             if ($theUnit == $targetUnit)//已符合给定则退出循环吧!
  22.                 break;
  23.         }
  24.         return sprintf("%1\$.{$decimals}f", $size) . $units[$theUnit];
  25.     }
  26. }
复制代码
                                           
                                       
                                       
            
  1. echo Util::fileSizeConv(6461310554654);
  2. 结果:5.9TB
复制代码


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage