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 ...
随机推荐
- Flume笔记--source端监听目录,sink端上传到HDFS
官方文档参数解释:http://flume.apache.org/FlumeUserGuide.html#hdfs-sink 需要注意:文件格式,fileType=DataStream 默认为Sequ ...
- Linux C 调用MYSQL API 函数mysql_escape_string()转义插入数据
Title:Linux C 调用MYSQL API 函数mysql_escape_string()转义插入数据 --2013-10-11 11:57 #include <stdio.h> ...
- 四句话表明JSON格式定义
(1):并列的数据之间使用逗号(",")分割: (2):键值对的映射用冒号(":")表示: (3):并列数据的集合(数组)用方括号("[]" ...
- js只能输入数字
$("#SeatCount, #Charge").on("keyup", function () { if (this.value.replace(/^0|\D ...
- POJ 1987 Distance Statistics
http://poj.org/problem?id=1987 题意:给一棵树,求树上有多少对节点满足距离<=K 思路:点分治,我们考虑把每个距离都存起来,然后排序,一遍扫描计算一下,注意还要减掉 ...
- 8.2.1.8 IS NULL Optimization NULL 优化:
8.2.1.8 IS NULL Optimization NULL 优化: Oracle 对待null值: SQL> create table t100(id int,name char(10) ...
- POJ 2923 Relocation
题目大意:有n个物品,有两辆车载重分别是c1,c2.问需要多少趟能把物品运完. (1 ≤ Ci ≤ 100,1 ≤ n ≤ 10,1 ≤ wi ≤ 100). 题解:n小思状压.我们先把所有一次可以拉 ...
- HDOJ 1163 Eddy's digital Roots(九余数定理的应用)
Problem Description The digital root of a positive integer is found by summing the digits of the int ...
- HDOJ 1070 Milk(水题,考英文的)
Problem Description Ignatius drinks milk everyday, now he is in the supermarket and he wants to choo ...
- strcpy完整版 与 strcpy为什么有返回值
一个标准的strcpy函数: 原本以为自己对strcpy还算比较了解,结果面试时还是悲剧了. 下面给出网上strcpy的得分版本: 2分 void strcpy( char *strDest, cha ...