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报表之jpgraph柱状图实例代码
Aug 22 PHP
深入php var_dump()函数的详解
Jun 05 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
Aug 20 PHP
php常用的安全过滤函数集锦
Oct 09 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
Apr 17 PHP
PHP+MySQL之Insert Into数据插入用法分析
Sep 27 PHP
Laravel使用支付宝进行支付的示例代码
Aug 16 PHP
php图片合成方法(多张图片合成一张)
Nov 25 PHP
PHP信号处理机制的操作代码讲解
Apr 19 PHP
PHP实现百度人脸识别
May 06 PHP
PHP获取php,mysql,apche的版本信息及更多服务器信息
Mar 09 PHP
如何使用php生成zip压缩包
Apr 21 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 set_time_limit(0) 设置程序执行时间的函数
2010/05/26 PHP
ThinkPHP3.1基础知识快速入门
2014/06/19 PHP
php实现的网络相册图片防盗链完美破解方法
2015/07/01 PHP
PHP中foreach()用法汇总
2015/07/02 PHP
在laravel中实现事务回滚的方法
2019/10/10 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
一段效率很高的for循环语句使用方法
2007/08/13 Javascript
文本框根据输入内容自适应高度的代码
2011/10/24 Javascript
JS对文本框值的判断示例
2014/03/10 Javascript
Bootstrap安装环境配置教程分享
2016/05/27 Javascript
JavaScript操作 url 中 search 部分方法函数
2016/06/15 Javascript
javascript 利用arguments实现可变长参数
2016/11/21 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
2016/12/28 Javascript
浅谈Vue.js组件(二)
2019/04/09 Javascript
Python操作SQLite简明教程
2014/07/10 Python
Java多线程编程中ThreadLocal类的用法及深入
2016/06/21 Python
分享给Python新手们的几道简单练习题
2017/09/21 Python
python卸载后再次安装遇到的问题解决
2019/07/10 Python
CSS3 background-image颜色渐变的实现代码
2018/09/13 HTML / CSS
基于ccs3的timeline时间线实现方法
2020/04/30 HTML / CSS
全球知名旅游社区巴西站点:TripAdvisor巴西
2016/07/21 全球购物
世界汽车零件:World Car Parts
2019/09/04 全球购物
养殖行业的创业计划书
2014/01/05 职场文书
美术专业个人自我评价
2014/01/18 职场文书
运动会开幕式邀请函
2014/01/22 职场文书
高中生期末评语
2014/01/28 职场文书
中式结婚主持词
2014/03/14 职场文书
3.15国际消费者权益日主题活动活动总结
2014/03/16 职场文书
采购意向书范本
2014/03/31 职场文书
六一节目主持词
2014/04/01 职场文书
《故乡》教学反思
2014/04/10 职场文书
诚信考试标语
2014/06/24 职场文书
525心理活动总结
2014/07/04 职场文书
世界遗产的导游词
2015/02/13 职场文书
十二生肖观后感
2015/06/12 职场文书
一次Mysql update sql不当引起的生产故障记录
2022/04/01 MySQL