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 相关文章推荐
smtp邮件发送一例
Oct 09 PHP
相对路径转化成绝对路径
Apr 10 PHP
PHP学习 运算符与运算符优先级
Jun 15 PHP
php使用websocket示例详解
Mar 12 PHP
跟我学Laravel之路由
Oct 15 PHP
PHP函数实现分页含文本分页和数字分页
Oct 23 PHP
详解PHP匿名函数与注意事项
Mar 29 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
Sep 30 PHP
windows环境下使用Composer安装ThinkPHP5
May 18 PHP
PHP反射原理与用法深入分析
Sep 28 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
Oct 10 PHP
Laravel Eloquent分表方法并使用模型关联的实现
Nov 25 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+MySQL 制作简单的留言本
2009/11/02 PHP
一步一步学习PHP(8) php 数组
2010/03/05 PHP
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
PHP图片验证码制作实现分享(全)
2012/05/10 PHP
PHP7匿名类用法分析
2016/09/26 PHP
Laravel框架实现的上传图片到七牛功能详解
2019/09/06 PHP
你需要知道的JavsScript可以做什么?
2007/06/29 Javascript
Jquery增加鼠标中间功能mousewheel的实例代码
2013/09/05 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
8个超实用的jQuery功能代码分享
2015/01/08 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
nodejs如何获取时间戳与时间差
2016/08/03 NodeJs
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
nodejs实现邮件发送服务实例分享
2017/03/29 NodeJs
nodejs实现的连接MySQL数据库功能示例
2018/01/25 NodeJs
微信小程序获取用户信息并保存登录状态详解
2019/05/10 Javascript
Python中最常用的操作列表的几种方法归纳
2015/04/24 Python
python排序方法实例分析
2015/04/30 Python
python抓取网页中链接的静态图片
2018/01/29 Python
python操作excel的包(openpyxl、xlsxwriter)
2018/06/11 Python
Python3.5文件修改操作实例分析
2019/05/01 Python
pandas中的series数据类型详解
2019/07/06 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
2020/07/13 Python
Windows 平台做 Python 开发的最佳组合(推荐)
2020/07/27 Python
python lambda的使用详解
2021/02/26 Python
美国伊甸园兄弟种子公司:Eden Brothers
2018/07/01 全球购物
捷克厨房用品购物网站:Tescoma
2018/07/13 全球购物
农村党员干部承诺书
2015/05/04 职场文书
回复函范文
2015/07/14 职场文书
2015小学毕业班工作总结
2015/07/21 职场文书
男方家长婚礼答谢词
2015/09/29 职场文书
初三英语教学反思
2016/02/15 职场文书
学生检讨书范文
2019/06/24 职场文书