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 木马攻击防御技巧
Jun 13 PHP
php快速url重写 更新版[需php 5.30以上]
Apr 20 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
Feb 21 PHP
php设计模式之命令模式的应用详解
May 21 PHP
php+js实现图片的上传、裁剪、预览、提交示例
Aug 27 PHP
PHP时间类完整实例(非常实用)
Dec 25 PHP
PHP基于单例模式实现的mysql类
Jan 09 PHP
PHP中Socket连接及读写数据超时问题分析
Jul 19 PHP
PHP不使用递归的无限级分类简单实例
Nov 05 PHP
PHP异步进程助手async-helper
Feb 05 PHP
ThinkPHP中图片按比例切割的代码实例
Mar 08 PHP
简单实用的PHP文本缓存类实例
Mar 22 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
GD输出汉字的函数的分析
2006/10/09 PHP
php下判断数组中是否存在相同的值array_unique
2008/03/25 PHP
php 无限分类的树类代码
2009/12/03 PHP
php设计模式 DAO(数据访问对象模式)
2011/06/26 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
Laravel 不同生产环境服务器的判断实践
2019/10/15 PHP
jquery实现搜索框常见效果的方法
2015/01/22 Javascript
js实现点击左右按钮轮播图片效果实例
2015/01/29 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
2016/07/22 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
JQuery和html+css实现带小圆点和左右按钮的轮播图实例
2017/07/22 jQuery
vue之将echart封装为组件
2018/06/02 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
2018/07/26 Javascript
Javascript读取上传文件内容/类型/字节数
2019/04/30 Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
2019/10/16 jQuery
Vue实现渲染数据后控制滚动条位置(推荐)
2019/12/09 Javascript
js String.prototype.trim字符去前后空格的扩展
2020/08/23 Javascript
详细解读tornado协程(coroutine)原理
2018/01/15 Python
Python实现将doc转化pdf格式文档的方法
2018/01/19 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
2018/02/07 Python
Python基于opencv的图像压缩算法实例分析
2018/05/03 Python
Python基于最小二乘法实现曲线拟合示例
2018/06/14 Python
Python基于property实现类的特性操作示例
2018/06/15 Python
Python基本socket通信控制操作示例
2019/01/30 Python
Python 如何提高元组的可读性
2019/08/26 Python
python retrying模块的使用方法详解
2019/09/25 Python
Python 3.8 新功能大揭秘【新手必学】
2020/02/05 Python
python中resample函数实现重采样和降采样代码
2020/02/25 Python
python3从网络摄像机解析mjpeg http流的示例
2020/11/13 Python
用python获取txt文件中关键字的数量
2020/12/24 Python
家长学校工作方案
2014/05/07 职场文书
租房安全协议书
2014/08/20 职场文书
python数据可视化使用pyfinance分析证券收益示例详解
2021/11/20 Python
SQL注入详解及防范方法
2021/12/06 MySQL
Mysql数据库表中为什么有索引却没有提高查询速度
2022/02/24 MySQL
图神经网络GNN算法
2022/05/11 Python