Rumah > pembangunan bahagian belakang > tutorial php > 全能的字节单位转换函数

全能的字节单位转换函数

WBOY
Lepaskan: 2016-07-25 08:49:50
asal
1336 orang telah melayarinya
容量单位计算,支持定义小数保留长度;定义起始和目标单位,或按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
复制代码


sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan