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

yipeiwu_com7年前PHP代码库
使用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学习笔记之三 数据库基本操作

下面是在Linux上登录mysql,创建数据库和创建表的过程。 yin@yin-Ubuntu10:~$ mysql -u root -p Enter password: Welcome...

如何在PHP中使用正则表达式进行查找替换

1. preg_match — 执行一个正则表达式匹配int preg_match ( string $pattern , string $subject [, array &$matc...

详解WordPress开发中用于获取分类及子页面的函数用法

get_category get_category 可能我们平时接触的不多,但却是很有用,网上这个函数介绍的貌似不多,所以今天只针对官方 WordPress 英文文档做一下翻译。 函数描...

PHP排序算法系列之归并排序详解

归并排序 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得...

php xml常用函数的集合(比较详细)

1、DOM 函数 a、DOMDocument->load()作用:加载xml文件用法:DOMDocument->load( string filename )参数:filen...