寫了個刪除文件夾下的目錄和文件的函數,文件可以刪除,但是目錄刪除不掉,出現“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.'<br/>'; if(!is_dir($path.'/'.$row)){ unlink($path.'/'.$row); }else{ delDir($path.'/'.$row); } } closedir($dh); //刪除文件之前,必須關閉打開的句柄,否則提示 Permission denied in 錯誤。 rmdir($path); //刪除成功,返回true return true; }