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