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>
时间: 2024-10-04 17:52:53

php递归删除文件夹的相关文章

C#追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件

C#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt"); sw.WriteLine("追逐理想"); sw.WriteLine("kzlll"); sw.WriteLine(".NET笔记"); sw.Flush(); sw.Close();C#拷贝文件 string OrignFile,NewFile; Or

C#递归删除文件夹目录及文件

在C#文件操作过程中,有时候需要删除相应目录,如果文件夹中含有其他文件夹或者文件,也需要一并进行删除,此时可能就需要使用递归来删除文件夹目录以及文件,递归过程中,如果遍历的对象是文件夹,则删除文件夹,若是文件,则删除对应文件.Directory.Delete方法可用于删除文件夹,File.Delete方法用于删除文件.具体的代码实现如下:/// <summary>/// 递归删除文件夹目录及文件/// </summary>/// <param name="dir&q

php 递归删除文件夹

因为php 的rmdir 只能删除空文件夹. 一旦要删除有文件的文件夹,就需要先把文件夹里的文件删除掉. 当然了,还有文件夹里的文件夹,下面还有文件夹....怎么办呢. 递归删除法,完美解决这个问题.上代码 function rmfile($dir){ if(!file_exists($dir)) echo "文件不存在!"; if ($file_dir = opendir($dir)) { while (($sun_file=readdir($file_dir)) != false)

[代码应用]javaSE程序递归删除文件夹下的.bak文件程序源代码

本文地址:http://blog.csdn.net/sushengmiyan/article/details/39158939 本文作者:sushengmiyan ------------------------------------------------------------------------------------------------------------------------------------ 现在写js代码就习惯使用editplus来写代码,但是每次都是会自动生

rm 递归删除文件夹下.o文件

用rm递归递归删除子目录下所有.o后缀文件: find . -name "*.o"  | xargs rm -f 通过管道命令来操作,先find出主目录 下想删除的文件,然后通过“xargs”这个构造参数列表并运行命令. find /path -name "file-name" | xargs rm -f 原文地址:https://www.cnblogs.com/hanrp/p/11514208.html

记录下递归删除文件夹。。。老是会写不出

static boolean delFile(File file) { if (!file.exists()) { return false; } if (file.isDirectory()) { File[] files = file.listFiles(); for (File f : files) { delFile(f); } } //删除文件,放在最后是方便删除空文件夹 return file.delete(); } 原文地址:https://blog.51cto.com/accol

递归删除文件夹

/** * @方法名称:deleteFolder * @方法描述:递归删除目录下的所有文件及子目录下所有文件 * @param dir 将要删除的文件目录 * @return boolean Returns "true" if all deletions were successful. *                 If a deletion fails, the method stops attempting to *                 delete and r

android 删除文件以及递归删除文件夹

1 private void deleteDirectory(File file) { 2 if (file.isFile()) { 3 file.delete(); 4 return; 5 } 6 7 if(file.isDirectory()){ 8 File[] childFiles = file.listFiles(); 9 if (childFiles == null || childFiles.length == 0) { 10 file.delete(); 11 return; 1

用定时器在某个时间点删除文件夹

package cn.idcast8; import java.io.File; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Timer; import java.util.TimerTask; class DeleteFolder extends TimerTask { // 用定时器删除文件夹 @Override publ