快捷搜索:   nginx

PHP实现字节数进制转换Byte转换为KB MB GB TB的方法

这段代码可以用来对一串流量或者文件大小进行进制转换。这里使用标准的1024进制,如果只需要简单的计算,也可以换成1000

<?php 
//用来进行进制转换
function getFilesize($num){
   $p = 0;
   $format='bytes';
   if($num>=0 && $num<1024){
     $p = 0;
     return number_format($num).' '.$format;
   }
   if($num>=1024 && $num<pow(1024, 2)){
     $p = 1;
     $format = 'KB';
  }
  if ($num>=pow(1024, 2) && $num<pow(1024, 3)) {
    $p = 2;
    $format = 'MB';
  }
  if ($num>=pow(1024, 3) && $num<pow(1024, 4)) {
    $p = 3;
    $format = 'GB';
  }
  if ($num>=pow(1024, 4) && $num<pow(1024, 5)) {
    $p = 3;
    $format = 'TB';
  }
  $num /= pow(1024, $p);
  return number_format($num, 2).' '.$format;
}
//测试输出是否正确
echo getFilesize(200)."<br/>";
echo getFilesize(20000)."<br/>";
echo getFilesize(2000000)."<br/>";
echo getFilesize(200000000)."<br/>";
echo getFilesize(20000000000)."<br/>";
echo getFilesize(2000000000000)."<br/>";
?>

转换输出结果:

blob.png

顶(1)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论