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>