PHP实现字节数Byte转换为KB、MB、GB、TB的方法 原创

yipeiwu_com5年前PHP代码库

本文实例讲述了PHP实现字节数Byte转换为KB、MB、GB、TB的方法。分享给大家供大家参考,具体如下:

前面介绍了java实现字节数Byte转换为KB、MB、GB、TB的方法 ,这里改用PHP实现这一功能。代码非常简单:

<?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, 3).' '.$format;
}
echo "来自【宜配屋www.yipeiwu.com】www.jb51.net的测试结果:<br/>";
echo getFilesize(200)."<br/>";
echo getFilesize(20000)."<br/>";
echo getFilesize(2000000)."<br/>";
echo getFilesize(200000000)."<br/>";
echo getFilesize(20000000000)."<br/>";
echo getFilesize(2000000000000)."<br/>";
?>

运行结果如下图:

PS:这里再为大家推荐几款相关在线工具供大家参考使用:

在线万能单位换算器flash版“数据存储”项即为本文所述单位换算):
http://tools.jb51.net/zhuanhuanqi/all_zhuanhuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.jb51.net/jisuanqi/jsqkexue

在线硬盘分区计算器:
http://tools.jb51.net/jisuanqi/onlinediskjsq

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结

希望本文所述对大家PHP程序设计有所帮助。

相关文章

php匹配字符中链接地址的方法

本文实例讲述了php匹配字符中链接地址的方法。分享给大家供大家参考。具体如下: 判断一个字符串是否含有超级链接,代码如下: 复制代码 代码如下:$str="ssdsf<a targ...

谈谈从phpinfo中能获取哪些值得注意的信息

谈谈从phpinfo中能获取哪些值得注意的信息

phpinfo函数 phpinfo函数 PHP中提供了PHPInfo()函数,该函数返回 PHP 的所有信息,包括了 PHP 的编译选项及扩充配置、PHP 版本、服务器信息及环境变量、P...

PHP文件上传处理案例分析

PHP文件上传处理案例分析

本文实例讲述了PHP文件上传处理的方法。分享给大家供大家参考,具体如下: 最近遇到一个事,把自己坑了好久,我想说说我开始的想法 PHP的上传机制封装的很完全,基本几行代码就能实现,他的实...

PHP面向对象程序设计之构造方法和析构方法详解

PHP面向对象程序设计之构造方法和析构方法详解

本文实例讲述了PHP面向对象程序设计之构造方法和析构方法。分享给大家供大家参考,具体如下: 构造方法和析构方法是对象中的两个特殊方法,它们都与对象的生命周期有关。构造方法是对象创建完成后...

浏览器关闭后,能继续执行的php函数(ignore_user_abort)

多的不说,直接上代码: 复制代码 代码如下: ignore_user_abort(true); //设置客户端断开连接时是否中断脚本的执行 set_time_limit(0); $fil...