Chinaunix首页 | 论坛 | 博客
  • 博客访问: 175310
  • 博文数量: 49
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 337
  • 用 户 组: 普通用户
  • 注册时间: 2013-02-23 15:51
文章分类

全部博文(49)

文章存档

2014年(23)

2013年(26)

我的朋友

分类: PHP

2014-03-06 06:26:03

学习了fread读取命令,用到了filesize函数,知道这个函数定大有用到的时候,遂用之编写统计文件大小函数。
使用filesize()函数命令实现文件大小的统计,要求:1,以GB、MB、KB、B中的一个输出;2.数量级必须大于1小于1024,并保留两位小数; 
代码:
  1. $len = filesize("1.rmvb");
  2. $i=4;
  3. while($i){
  4. if(($out=$len/pow(1024,$i))>1.0||$i==1){
  5. switch($i){
  6. case 4: {printf("%.2f TB",$out);break;}
  7. case 3: {printf("%.2f GB",$out);break;}
  8. case 2: {printf("%.2f MB",$out);break;}
  9. case 1: {printf("%.2f KB",$out);break;}
  10. } // www.jbxue.com
  11. break;
  12. }
  13. $i--;
  14. }
演示效果: 
1.85GB 
2.70GB 
  得意间,上PHP官网的上看,结果找到了一个更简单更有效的方法(So Peifu) 
  代码如下: 

  1. function format_bytes($size) {
  2. $units = array(' B', ' KB', ' MB', ' GB', ' TB');
  3. for ($i = 0; $size >= 1024 && $i < 4; $i++) $size /= 1024;
  4. return round($size, 2).$units[$i];
  5. }
演示效果: 
1.85GB 
2.7GB 
当然还有更多的做法,但这种方法是应该是最简单的,最快的了吧,相信你也有别的方法,期待你的分享!
阅读(1127) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~