写了个删除文件夹下的目录和文件的函数,文件可以删除,但是目录删除不掉,出现“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; }