php递归删除文件夹函数写了两次..第一次执行没删除成功,需要多次删除成功...所以应该算是失败了,,代码如下:
//删除文件方法
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);
}
}
} -->
正确的代码如下:
/**
*递归删除文件
*$path 传入需要删除的文件夹地址
*/
function deldir($path){
if(is_dir($path)){
$file_list = scandir($path);
foreach ($file_list as $file) {
if($file!='.'&&$file!='..'){
deldir($path.'/'.$file);//递归删除
echo ''.$path.'/'.$file.'文件清理成功!
';
}
}
@rmdir($path);//删除空目录
}else{
@unlink($path);//删除文件
}
}
原文:http://blog.csdn.net/hearain528/article/details/40735899