PHP获取文件夹大小函数用法实例


Posted in PHP onJuly 01, 2015

本文实例讲述了PHP获取文件夹大小函数用法。分享给大家供大家参考。具体如下:

<?php
 // 获取文件夹大小
 function getDirSize($dir)
 { 
  $handle = opendir($dir);
  while (false!==($FolderOrFile = readdir($handle)))
  { 
   if($FolderOrFile != "." && $FolderOrFile != "..") 
   { 
    if(is_dir("$dir/$FolderOrFile"))
    { 
     $sizeResult += getDirSize("$dir/$FolderOrFile"); 
    }
    else
    { 
     $sizeResult += filesize("$dir/$FolderOrFile"); 
    }
   } 
  }
  closedir($handle);
  return $sizeResult;
 }
 // 单位自动转换函数
 function getRealSize($size)
 { 
  $kb = 1024;   // Kilobyte
  $mb = 1024 * $kb; // Megabyte
  $gb = 1024 * $mb; // Gigabyte
  $tb = 1024 * $gb; // Terabyte
  if($size < $kb)
  { 
   return $size." B";
  }
  else if($size < $mb)
  { 
   return round($size/$kb,2)." KB";
  }
  else if($size < $gb)
  { 
   return round($size/$mb,2)." MB";
  }
  else if($size < $tb)
  { 
   return round($size/$gb,2)." GB";
  }
  else
  { 
   return round($size/$tb,2)." TB";
  }
 }
 echo getRealSize(getDirSize('需要获取大小的目录'));
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
mysql_num_rows VS COUNT 效率问题分析
Apr 23 PHP
php随机输出名人名言的代码
Oct 07 PHP
实测在class的function中include的文件中非php的global全局环境
Jul 15 PHP
php解析xml 的四种简单方法(附实例)
Jul 11 PHP
注意!PHP 7中不要做的10件事
Sep 18 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
Feb 17 PHP
php获取数据库结果集方法(推荐)
Jun 01 PHP
ThinkPHP开发--使用七牛云储存
Sep 14 PHP
PHP延迟静态绑定的深入讲解
Apr 02 PHP
浅谈laravel框架sql中groupBy之后排序的问题
Oct 17 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
Nov 26 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
Jul 01 #PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
Jul 01 #PHP
PHP判断是否连接上网络的方法
Jul 01 #PHP
PHP抓取网页、解析HTML常用的方法总结
Jul 01 #PHP
PHP中static关键字以及与self关键字的区别
Jul 01 #PHP
PHP单例模式详细介绍
Jul 01 #PHP
curl和libcurl的区别简介
Jul 01 #PHP
You might like
php绘制圆形的方法
2015/01/24 PHP
PHP自定义错误用法示例
2016/09/28 PHP
php PDO判断连接是否可用的实现方法
2017/04/03 PHP
PHP预定义接口――Iterator用法示例
2020/06/05 PHP
不错的asp中显示新闻的功能
2006/10/13 Javascript
jQuery UI-Draggable 参数集合
2010/01/10 Javascript
qTip 基于JQuery的Tooltip插件[兼容性好]
2010/09/01 Javascript
鼠标经过显示二级菜单js特效
2013/08/13 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
js处理自己不能定义二维数组的方法详解
2014/03/03 Javascript
jQuery操作元素css样式的三种方法
2014/06/04 Javascript
判断在css加载完毕后执行后续代码示例
2014/09/03 Javascript
js格式化时间小结
2014/11/03 Javascript
javascript制作2048游戏
2015/03/30 Javascript
nodejs multer实现文件上传与下载
2017/05/10 NodeJs
jQuery使用zTree插件实现可拖拽的树示例
2017/09/23 jQuery
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
2017/12/12 Javascript
jQuery实现表单动态添加与删除数据操作示例
2018/07/03 jQuery
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
[43:53]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.22
2019/09/05 DOTA
python中dir函数用法分析
2015/04/17 Python
简单解析Django框架中的表单验证
2015/07/17 Python
python通过cookie模拟已登录状态的初步研究
2016/11/09 Python
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
名片管理系统python版
2018/01/11 Python
python 基本数据类型占用内存空间大小的实例
2018/06/12 Python
基于Python数据分析之pandas统计分析
2020/03/03 Python
Keras: model实现固定部分layer,训练部分layer操作
2020/06/28 Python
如何避免常见的6种HTML5错误用法
2017/11/06 HTML / CSS
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
应届大学生简历中的自我评价
2014/01/15 职场文书
环境保护与污染治理求职信
2014/07/16 职场文书
全国优秀教师事迹材料
2014/08/26 职场文书
业务员岗位职责
2015/02/03 职场文书
护士长2015年终工作总结
2015/04/24 职场文书
中学综治宣传月活动总结
2015/05/07 职场文书