php使用递归计算文件夹大小


Posted in PHP onDecember 24, 2014

方法很简单,这里就不多废话了,直接奉上代码:

protected function dir_size($dir){

        $dh = opendir($dir);             //打开目录,返回一个目录流

        $size = 0;      //初始大小为0 

        while(false !== ($file = @readdir($dh))){     //循环读取目录下的文件

           if($file!='.' and $file!='..'){

            $path = $dir.'/'.$file;     //设置目录,用于含有子目录的情况

                if(is_dir($path)){

                $size += $this->dir_size($path);  //递归调用,计算目录大小

                }elseif(is_file($path)){

                    $size += filesize($path);   //计算文件大小

                }

            } 

        }   

        closedir($dh);             //关闭目录流

        return $size;               //返回大小

    }
PHP 相关文章推荐
PHP中的加密功能
Oct 09 PHP
配置PHP使之能同时支持GIF和JPEG
Oct 09 PHP
常用的php对象类型判断
Aug 27 PHP
php 日期时间处理函数小结
Dec 18 PHP
Yii核心组件AssetManager原理分析
Dec 02 PHP
PHP安装memcached扩展笔记
May 28 PHP
Yii实现单用户博客系统文章详情页插入评论表单的方法
Dec 28 PHP
CodeIgniter辅助之第三方类库third_party用法分析
Jan 20 PHP
php实现的XML操作(读取)封装类完整实例
Feb 23 PHP
Yii2选项卡的简单使用
May 26 PHP
PHP基于IMAP收取邮件的方法示例
Aug 07 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
Apr 12 PHP
php实现无限级分类
Dec 24 #PHP
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
Dec 24 #PHP
PHP扩展模块memcached长连接使用方法分析
Dec 24 #PHP
Yii框架在页面输出执行sql语句以方便调试的实现方法
Dec 24 #PHP
php使用pdo连接并查询sql数据库的方法
Dec 24 #PHP
php将access数据库转换到mysql数据库的方法
Dec 24 #PHP
php启用sphinx全文搜索的实现方法
Dec 24 #PHP
You might like
解析php中反射的应用
2013/06/18 PHP
一致性哈希算法以及其PHP实现详细解析
2013/08/24 PHP
php格式化时间戳显示友好的时间实现思路及代码
2014/10/23 PHP
PHP new static 和 new self详解
2017/02/19 PHP
laravel 模型查询按照whereIn排序的示例
2019/10/16 PHP
新浪的图片新闻效果
2007/01/13 Javascript
IE和Firefox在JavaScript应用中的兼容性探讨
2008/04/01 Javascript
基于prototype扩展的JavaScript常用函数库
2010/11/30 Javascript
js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
2011/07/27 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
jquery的父子兄弟节点查找示例代码
2014/03/03 Javascript
使用JSON.parse将json字符串转换成json对象的时候会出错
2014/09/04 Javascript
JavaScript知识点总结(十)之this关键字
2016/05/31 Javascript
基于JS代码实现图片在页面中旋转效果
2016/06/16 Javascript
JS中的==运算: [''] == false —>true
2016/07/24 Javascript
百度多文件异步上传控件webuploader基本用法解析
2016/11/07 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
使用D3.js创建物流地图的示例代码
2018/01/27 Javascript
JavaScript动态加载重复绑定问题
2018/04/01 Javascript
vue this.reload 方法 配置
2018/09/12 Javascript
JavaScript实现简单轮播图效果
2018/12/01 Javascript
详解在HTTPS 项目中使用百度地图 API
2019/04/26 Javascript
webpack 代码分离优化快速指北
2019/05/18 Javascript
JS自定义对象创建与简单使用方法示例
2020/01/15 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
Python使用Scrapy爬取妹子图
2015/05/28 Python
python3.4用循环往mysql5.7中写数据并输出的实现方法
2017/06/20 Python
浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
2018/04/10 Python
python批量修改文件编码格式的方法
2018/05/31 Python
Python3 实现文件批量重命名示例代码
2019/06/03 Python
基于python代码批量处理图片resize
2020/06/04 Python
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
2012/02/15 面试题
租车协议书范本
2014/04/22 职场文书
学习走群众路线心得体会
2014/11/05 职场文书
如何使用vue3打造一个物料库
2021/05/08 Vue.js
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏