PHP实现格式化文件数据大小显示的方法


Posted in PHP onJanuary 03, 2015

本文实例讲述了PHP实现格式化文件数据大小显示的方法。分享给大家供大家参考。具体分析如下:

有时候我们需要在网页上显示某个文件的大小,或者是其它数据的大小数字。

这个数字往往从跨度很大,如果以B为单位的话可能是个位,如果1G则长达1073741824的数字,这个时候我们就需要根据大小来格式化,比如小于1K则以B为单位显示,小于1M则以KB为单位显示,小于1G则以MB为单位显示,以此类推...

格式化函数参考如下:

//格式化size显示

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='单位未知';

        }

        return sprintf('%.2f',$b).$unit;

    }

}

调用:

echo formatSize('20667564');

结果是:

19.71MB

说明:

其中参数$b是以B为单位的数字,$times是用来标识这个函数递归了多少次的。

其中不常用的单位TB、PB、EB、ZB请参考下面的备注(来源于网络):

1bit(这个比特表示一个二进制数字)
1Byte(这个单词音译过来也叫“比特”但是表示一个十六进制的数字)
1B=1Byte=8bit
1 kB = 1024 B (kB - kilobyte) 千
1 MB = 1024 kB (MB - megabyte) 兆
1 GB = 1024 MB (GB - gigabyte) 吉
1 TB = 1024 GB (TB - terabyte) 太
1 PB = 1024 TB (PB - petabyte) 拍
1 EB = 1024 PB (EB - eksabyte) 艾
1 ZB = 1024 EB (ZB - zettabyte) 皆
1 YB = 1024 ZB (YB - yottabyte) 佑
1 BB = 1024 YB (BB - brontobyte)
yotta, 尧[它], Y. 10^21,
zetta, 泽[它], Z. 10^18,
exa, 艾[可萨], E. 10^15,
peta, 拍[它], P. 10^12,
tera, 太[拉], T. 10^9,
giga, 吉[咖], G. 10^6,
mega, 兆,M. 10^3

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

PHP 相关文章推荐
十天学会php之第六天
Oct 09 PHP
PHP初学入门
Nov 19 PHP
PHP开发中常用的字符串操作函数
Feb 08 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
Jun 05 PHP
PHP file_get_contents设置超时处理方法
Sep 30 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
Feb 18 PHP
php实现高效获取图片尺寸的方法
Dec 12 PHP
PHP连接Nginx服务器并解析Nginx日志的方法
Aug 16 PHP
WordPress中查询文章的循环Loop结构及用法分析
Dec 17 PHP
Zend Framework教程之资源(Resources)用法实例详解
Mar 14 PHP
Yii2框架实现注册和登录教程
Sep 30 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
Jun 11 PHP
php自定义加密与解密程序实例
Dec 31 #PHP
推荐一本PHP程序猿都应该拜读的书
Dec 31 #PHP
推荐10个提供免费PHP脚本下载的网站
Dec 31 #PHP
php使用google地图应用实例
Dec 31 #PHP
php将文本文件转换csv输出的方法
Dec 31 #PHP
19个Android常用工具类汇总
Dec 30 #PHP
php+ajax实现文章自动保存的方法
Dec 30 #PHP
You might like
PHP实现的功能是显示8条基色色带
2006/10/09 PHP
用PHP制作静态网站的模板框架(三)
2006/10/09 PHP
如何使用php判断服务器是否是HTTPS连接
2013/07/05 PHP
那些年我们错过的魔术方法(Magic Methods)
2014/01/14 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
2014/10/23 PHP
10个对初学者非常有用的PHP技巧
2016/04/06 PHP
PHP自定义错误处理的方法分析
2018/12/19 PHP
用一段js程序来实现动画功能
2007/03/06 Javascript
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
JavaScript cookie的设置获取删除详解
2014/02/11 Javascript
微信中一些常用的js方法汇总
2015/03/12 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
JS遍历ul下的li点击弹出li的索引的实现方法
2016/09/19 Javascript
折叠菜单及选择器的运用
2017/02/03 Javascript
纯JS实现的读取excel文件内容功能示例【支持所有浏览器】
2018/06/23 Javascript
JS实现数组去重及数组内对象去重功能示例
2019/02/02 Javascript
vue中移动端调取本地的复制的文本方式
2020/07/18 Javascript
JavaScript实现移动小精灵的案例代码
2020/12/12 Javascript
Python模拟脉冲星伪信号频率实例代码
2018/01/03 Python
tensorflow获取变量维度信息
2018/03/10 Python
解决python删除文件的权限错误问题
2018/04/24 Python
python pandas 对时间序列文件处理的实例
2018/06/22 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
2019/05/04 Python
详解python和matlab的优势与区别
2019/06/28 Python
用Python获取摄像头并实时控制人脸的实现示例
2019/07/11 Python
python生成器用法实例详解
2019/11/22 Python
CSS3径向渐变之大鱼吃小鱼之孤单的大鱼
2016/04/26 HTML / CSS
巴西购物网站:Submarino
2020/01/19 全球购物
数学系个人求职信范文
2014/01/30 职场文书
精彩广告词大全
2014/03/19 职场文书
建筑工地标语
2014/06/18 职场文书
政工例会汇报材料
2014/08/26 职场文书
个人专业技术总结
2015/03/05 职场文书
人事行政助理岗位职责
2015/04/11 职场文书
一篇文章看懂MySQL主从复制与读写分离
2021/11/07 MySQL
MySQL数据库⾼可⽤HA实现小结
2022/01/22 MySQL