写了个删除文件夹下的目录和文件的函数,文件可以删除,但是目录删除不掉,出现“Permission denied in ”的警告,这个问题是由于在函数打开后,没有关闭,直接删除导致的。在删除文件之前,调用closedir()关闭下句柄,再调用删除方法即可。附删除文件的函数:
//删除目录,如果目录里有内容,则级联删除
function delDir($path){
//不是目录,则直接返回
if(!is_dir($path)){
return NULL;
}
$dh=opendir($path);
while(($row=readdir($dh))!==false){
if($row=='.'||$row=='..'){
continue;
}
echo $row.'
';
if(!is_dir($path.'/'.$row)){
unlink($path.'/'.$row);
}else{
delDir($path.'/'.$row);
}
}
closedir($dh);//删除文件之前,必须关闭打开的句柄,否则提示 Permission denied in 错误。
rmdir($path);
//删除成功,返回true
return true;
}