php 文件操作中几种方法整理
2016-05-25 11:34
686 查看
1.获取文件夹下所有文件个数
echo ShuLiang("../0503lianxi"); function ShuLiang($filename) { if(is_dir($filename))//判断是不是文件夹 { $attr=glob($filename."/*");//是文件夹则遍历目录 $sl=0; foreach($attr as $v) { if(is_dir($v)) { $sl=$sl+ShuLiang($v); } else { $sl++; } } return $sl; } else if(is_file($filename)) { return 1; } else { return 0; } }
2.获取文件夹下所有文件大小
[b]方法1:[/b]echo Size("../0505lianxi"); function Size($filename) { if(is_dir($filename))//判断是否是文件夹 { $attr=glob($filename."/*");//遍历文件夹 $size=0; foreach($attr as $v) { if(is_dir($v)) { $size=filesize($filename)+Size($v); } else { $size+=filesize($v); } } return $size; } else if(is_file($filename)) { return filesize($filename); } else { return 0; } }
[b]方法2:[/b]
echo dir_size("../0505lianxi"); 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; //返回大小 }
3. 删除目录:(知道就好,不要轻易尝试,容易删除所有文件)
<?php function deldir($dirname) { if(!file_exists($dirname)) { die("文件夹不存在!"); } //如果是文件,直接删除即可 if(is_file($dirname)) { unlink($dirname); exit(); } //打开目录资源 $dir = opendir($dirname); while($filename = readdir($dir)) { if($filename !="." && $filename!="..") { //******* $filename = $dirname."/".$filename; if(is_dir($filename) ) { deldir($filename); }else { unlink($filename); } } } closedir($dir); rmdir($dirname); }
相关文章推荐
- 分享10条PHP性能优化的小技巧,帮助你更好的用PHP开发
- Windows下编译php_scws.php
- phpcms后台批量上传添加图片文章方法详解(一)
- zabbix如何监控php-fpm
- php 解析xml
- NTP时间同步
- PHP 记录日志
- PHP输出json数据时中文不进行unicode编码的几种方法总结
- php 之 文件操作(0524)
- 命令行执行zend framework 2的带参数代码
- win7下配置FTP服务
- PHP new StdClass()创建空对象
- php笔记(2)——语言基础
- 关于php跨域问题
- php后台的在控制器中就可以实现阅读数增加
- php 计算两个日期的间隔天数
- yii2框架-yii2的事件
- ThinkPHP pathinfo 模式下 url传递参数导致htim 无法加载css样式
- 每天laravel-20160814| Container -17
- 每天laravel-20160814| Container -17