首页 > 代码库 > php递归删除文件夹

php递归删除文件夹

php递归删除文件夹函数写了两次..第一次执行没删除成功,需要多次删除成功...所以应该算是失败了,,代码如下:


<span style="color:#FF0000;">//删除文件方法
	private function rmdirs($val){
		rmdir($val);
		if(!file_exists($val)){
			return false;
		}
		if(is_file($val)||is_link($val)){
			return unlink($val);
		}
		if(is_dir($val)){
			if($dir = opendir($val)){
				while($file = readdir($dir)){
					if($file=='.'||$file=='..'){
						continue;
					}
					$path = $val.'/'.$file;
					unlink($path);
					$this->rmdirs($path);
				}
			closedir($val);
			}
		}
	} --></span>

正确的代码如下:

/**
 *递归删除文件
 *$path    传入需要删除的文件夹地址
 */
<span style="color:#33CC00;">function deldir($path){
	if(is_dir($path)){
		$file_list = scandir($path);
		foreach ($file_list as $file) {
			if($file!='.'&&$file!='..'){
				deldir($path.'/'.$file);//递归删除
				echo '<font color="blue">'.$path.'/'.$file.'文件清理成功!</font><br>';
			}
		}
		@rmdir($path);//删除空目录
	}else{
		@unlink($path);//删除文件
	}
}</span>


php递归删除文件夹