php统计文件大小,以GB、MB、KB、B输出


Posted in PHP onMay 29, 2011

使用filesize()函数命令实现文件大小的统计,要求:1,以GB、MB、KB、B中的一个输出;2.数量级必须大于1小于1024,并保留两位小数;

开始动工:

$len = filesize("1.rmvb"); 
$i=4; 
while($i){ 
if(($out=$len/pow(1024,$i))>1.0||$i==1){ 
switch($i){ 
case 4: {printf("%.2f TB",$out);break;} 
case 3: {printf("%.2f GB",$out);break;} 
case 2: {printf("%.2f MB",$out);break;} 
case 1: {printf("%.2f KB",$out);break;} 
} 
break; 
} 
$i--; 
}

演示效果:
view sourceprint?1.85GB
2.70GB

得意间,上PHP官网的PHP教程上看,结果找到了一个更简单更有效的方法(So Peifu)

代码如下:

function format_bytes($size) { 
$units = array(' B', ' KB', ' MB', ' GB', ' TB'); 
for ($i = 0; $size >= 1024 && $i < 4; $i++) $size /= 1024; 
return round($size, 2).$units[$i]; 
}

演示效果:
1.85GB
2.7GB

当然还有更多的做法,但这种方法是应该是最简单的,最快的了吧,相信你也有别的方法,期待你的分享!

PHP 相关文章推荐
PHP stristr() 函数(不区分大小写的字符串查找)
Jun 03 PHP
php的日期处理函数及uchome的function_coomon中日期处理函数的研究
Jan 12 PHP
PHP数据类型之整数类型、浮点数的介绍
Apr 28 PHP
修改php.ini以达到屏蔽错误信息并记录日志
Jun 16 PHP
Destoon模板制作简明教程
Jun 20 PHP
php实现面包屑导航例子分享
Dec 19 PHP
php5.4传引用时报错问题分析
Jan 22 PHP
PHPExcel笔记, mpdf导出
May 03 PHP
php时间计算相关问题小结
May 09 PHP
php处理单文件、多文件上传代码分享
Aug 24 PHP
php断点续传之文件分割合并详解
Dec 13 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 PHP
PHP之数组学习
May 29 #PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
May 29 #PHP
php连接数据库代码应用分析
May 29 #PHP
PHP文件上传原理简单分析
May 29 #PHP
php修改时间格式的代码
May 29 #PHP
PHP第一季视频教程(李炎恢+php100 不断更新)
May 29 #PHP
PHP获取文件绝对路径的代码(上一级目录)
May 29 #PHP
You might like
PHP_Flame(Version:Progress)的原代码
2006/10/09 PHP
php获取参数的几种方法总结
2014/02/18 PHP
php过滤html标记属性类用法实例
2014/09/23 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
2018/10/30 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
改变javascript函数内部this指针指向的三种方法
2010/04/23 Javascript
IE6弹出“已终止操作”的解决办法
2010/11/27 Javascript
js中函数调用的两种常用方法使用介绍
2014/07/17 Javascript
jQuery遍历对象、数组、集合实例
2014/11/08 Javascript
JavaScript中的类(Class)详细介绍
2014/12/30 Javascript
jQuery基本过滤选择器用法示例
2016/09/09 Javascript
如何解决hover在ie6中的兼容性问题
2016/12/15 Javascript
微信小程序获取位置展示地图并标注信息的实例代码
2019/09/01 Javascript
Element Card 卡片的具体使用
2020/07/26 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
jQuery实现简单轮播图效果
2020/12/27 jQuery
[52:15]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS LGD-GAMING
2014/05/23 DOTA
Python使用SocketServer模块编写基本服务器程序的教程
2016/07/12 Python
Python实现钉钉发送报警消息的方法
2019/02/20 Python
PYTHON EVAL的用法及注意事项解析
2019/09/06 Python
Django app配置多个数据库代码实例
2019/12/17 Python
python实现暗通道去雾算法的示例
2020/09/27 Python
美国知名的家庭连锁百货商店:Boscov’s
2017/07/27 全球购物
SQL中where和having的区别
2012/06/17 面试题
会计电算化大学生职业规划书
2014/02/05 职场文书
网络工程师职业规划
2014/02/10 职场文书
学校党员对照检查材料
2014/08/28 职场文书
党员学习中共十八大思想报告
2014/09/12 职场文书
家属答谢词
2015/01/05 职场文书
一年级语文上册复习计划
2015/01/17 职场文书
高中英语教学反思范文
2016/03/02 职场文书
创业计划书之密室逃脱
2019/11/08 职场文书
MySQL root密码的重置方法
2021/04/21 MySQL
Go语言使用select{}阻塞main函数介绍
2021/04/25 Golang
python如何利用traceback获取详细的异常信息
2021/06/05 Python
Win11任务栏无法正常显示 资源管理器不停重启的解决方法
2022/07/07 数码科技