php 文件操作中几种方法整理
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.获取文件夹下所有文件大小
方法1:
- 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;
- }
- }
方法2:
- 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);
- }
php 文件操作中几种方法整理的更多相关文章
- 【AS3】Flash与后台数据交换四种方法整理
随着Flash Player 9的普及,AS3编程也越来越多了,所以这次重新整理AS3下几种与后台数据交换方法.1.URLLoader(URLStream)2.FlashRemoting3.XMLSo ...
- [转载]C#读写txt文件的两种方法介绍
C#读写txt文件的两种方法介绍 by 大龙哥 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char ...
- java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)
java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...
- .net中创建xml文件的两种方法
.net中创建xml文件的两种方法 方法1:根据xml结构一步一步构建xml文档,保存文件(动态方式) 方法2:直接加载xml结构,保存文件(固定方式) 方法1:动态创建xml文档 根据传递的值,构建 ...
- MySQL命令执行sql文件的两种方法
MySQL命令执行sql文件的两种方法 摘要:和其他数据库一样,MySQL也提供了命令执行sql脚本文件,方便地进行数据库.表以及数据等各种操作.下面笔者讲解MySQL执行sql文件命令的两种方法,希 ...
- C#读写txt文件的两种方法介绍
C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...
- .net(C#)操作文件的几种方法汇总
.net(C#)操作文件的几种方法汇总 System.IO命名空间下类的用法:在System.IO名称空间中包含了用于文件输入输出的主要类.File:实用类,提供许多静态方法,用于移动.复制和删除文件 ...
- 【转】 分析iOS Crash文件:符号化iOS Crash文件的3种方法
当你的应用提交到AppStore或者各个渠道之后,请问你多久会拿到crash文件?你如何分析crash文件的呢? 上传crash文件 你的应用应当有模块能够在应用程序crash的时候上传crash信息 ...
- spring 配置文件 引入外部的property文件的两种方法
spring 的配置文件 引入外部的property文件的两种方法 <!-- 引入jdbc配置文件 方法一 --> <bean id="propertyConfig ...
随机推荐
- T-SQL事务实例
begin try begin tran ,'); ; --RAISERROR ('Error raised in TRY block.',16,1); commit tran end try beg ...
- javaWeb实现使用邮箱邮件找回密码功能
JSP+Jmail+JavaBean 发邮件(转)2010-08-23 18:052007年04月14日 14:32/* * SendMail.java * * Created on 2007年3月3 ...
- 网络请求时 返回 App Transport Security has blocked a cleartext HTTP
如上图,是因为 Xcode7 没有对 plist 进行 http 请求的配置 所致 这时需要 加上上面的plist的红框中 的内容 并且 设置 为 yes 如下图
- New ipad install Metasploit(New ipad 安装Metasploit)
Title:New ipad install Metasploit(New ipad 安装Metasploit) --2012-09-19 11:35 越狱以后,Ssh或者终端Ipad,把屏幕锁定最好 ...
- Android 之形状Drawable
形状Drawable资源允许使用 <shape>标记指定基本形状的尺寸.背景.轮廓线,从而定义这些基本形状. 每个形状都包含一个类型(通过shape属性指定).定义该形状尺寸的属性,以及指 ...
- Javascript url 小逻辑
情况1 : var xhr = new XMLHttpRequest(); xhr.open("GET", "/api/products", true); xh ...
- UNIQUE NullAble
一般情况 UNIQUE 不应该出现nullable的 但是如果我们要支持也是有办法的,就是写一个filter. https://msdn.microsoft.com/en-us/library/ms1 ...
- Entity Framework with MySQL 学习笔记一(insert,update,delete)
先说说 insert 吧. 当EF执行insert时,如果我们传入的对象是有关联(1对多等)的话,它会执行多个语句 insert到多个表, 并且再select出来填充我们的属性(因为有些column默 ...
- VCRedist.exe静默安装方法(转)
INNO setup 制作安装包 的时候,发布VC++运行时 [Run]Filename: {app}vcredist_x86.exe; Parameters: /q; WorkingDir: {t ...
- Android attrs.xml文件中属性类型format值的格式
"reference" //引用 "color" //颜色 "boolean" //布尔值 "dimension" // ...