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

yipeiwu_com5年前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
  当然还有更多的做法,但这种方法是应该是最简单的,最快的了吧,相信你也有别的方法,期待你的分享!

相关文章

hadoop中一些常用的命令介绍

假设Hadoop的安装目录HADOOP_HOME为/home/admin/hadoop。启动与关闭启动Hadoop1.进入HADOOP_HOME目录。2.执行sh bin/start-a...

php使用json_decode后数字对象转换成了科学计数法的解决方法

本文实例讲述了php使用json_decode后数字对象转换成了科学计数法的解决方法。分享给大家供大家参考,具体如下: 问题: 今天在搞网页游戏在facebook积分上的对接,faceb...

PHP页面跳转操作实例分析(header方法)

本文实例分析了PHP页面跳转操作。分享给大家供大家参考,具体如下: 跳转 header()为php函数,向浏览器发送指定命令 html: <meta http-equiv="...

php实现PDO中捕获SQL语句错误的方法

本文实例讲述了php实现PDO中捕获SQL语句错误的方法。分享给大家供大家参考,具体如下: 使用默认模式-----PDO::ERRMODE_SILENT 在默认模式中设置PDOState...

PHP+SQL 注入攻击的技术实现以及预防办法

总结一下经验。在我看来,引发 SQL 注入攻击的主要原因,是因为以下两点原因:   1. php 配置文件 php.ini 中的 magic_quotes_gpc 选项没有打开,被置为...