`
长虫的梅子
  • 浏览: 42184 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

递归删除指定目录下的所有文件

    博客分类:
  • PHP
PHP 
阅读更多
<?php
/××
 × 递归删除指定目录下的所有文件和目录
 * @param $dir 指定目录
 ×/
function deldir($dir) {
	$dirhandle=@opendir($dir);
    while($file_name=@readdir($dirhandle)){
        	if ($file_name!='.' && $file_name!='..'){
			if (is_dir("$dir/$file_name")){
				deldir($dir.'/'.$file_name);
				@rmdir("$dir/$file_name");
			}else{
				@unlink("$dir/$file_name");
			}
		}
	}
	@closedir($dirhandle);
}

// 调用
deldir('file');



这里用到几个系统函数
1、opendir(path, context) 打开目录
参数一:打开的目录路径(必需)
参数二: 规定目录句柄的环境 (可选,还没用过)
返回: 成功,返回一个目录流,否则返回 false 以及一个 error。

2、readdir(dir_stream) 读文件
参数:由opendir函数返回的目录流,也就是目录句柄。(必需)
返回:成功,返回目录中下一个文件的文件名。

3、is_dir(file) 检测是否是目录
参数: 函数检查指定的文件是否是目录。(必需)
返回: boolean

4、rmdir(dir, context) 删除目录
参数一:规定要删除的目录 (必需)
参数二:规定目录句柄的环境 (可选,还没用过)
返回:  boolean

5、unlink(filename, context) 删除文件
参数一:规定要删除的文件 (必需)
参数二:规定目录句柄的环境 (可选,还没用过)
返回: boolean

通常在使用这几个函数
opendir()、readdir()、rmdir()、unlink()时,在前面加上错误抑制符'@'。








分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics