2012-01-23 32 views
0

可能重複:
How to delete a zip file using php刪除壓縮文件夾通過PHP代碼

如何使用PHP代碼我刪除壓縮目錄?

我有一個文件夾test。在該文件夾中有一個壓縮目錄名稱zip_folder。 我想從測試文件夾中刪除這個壓縮目錄。我怎樣才能做到這一點?

我寫了一些代碼,但它不工作。這是我的代碼:

$name = "zip_folder"; 
chmod('./test/'.$name.'.zip',777); 
unlink('./test/'.$name.'.zip'); 

我得到了這樣的錯誤:

<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;"> 



<h4>A PHP Error was encountered</h4> 



<p>Severity: Warning</p> 

<p>Message: unlink(./test/zip_folder.zip) [<a href='function.unlink'>function.unlink</a>]: Permission denied</p> 

<p>Filename: controllers/super_admin.php</p> 

<p>Line Number: 590</p> 



</div> 

什麼是我的代碼的問題?

zip_folder也有子文件夾。在test文件夾裏有zip_folder.zipzip_folder文件夾。這意味着有zip_folder的壓縮副本和zip_folder的原始文件夾。我只需要刪除zip_folder的壓縮副本。

+1

不要被混淆的術語。一個* .zip壓縮文件對所有的效果只是一個文件。另外,你確定'chmod()'按預期工作嗎?如果您沒有寫入文件的權限,則通常無法將其分配給自己。 –

+1

請不要兩次寫同一個問題。 – Ryan

回答

0

嘗試以下功能刪除文件夾和子文件夾...你需要傳遞僅文件夾路徑...

function rrmdir($dir) { 
    if (is_dir($dir)) { 
     $objects = scandir($dir); 
      foreach ($objects as $object) { 
       if ($object != "." && $object != "..") { 
        if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object); 
       } 
      } 
     reset($objects); 
     rmdir($dir); 
    } 
    return true; 
} 
+0

什麼都不會發生我將文件夾路徑作爲'rrmdir('./ test /'.$ name。'。zip')傳遞給您的文件夾'' – Kichu

+0

您需要傳遞文件夾名稱。不是文件名...我想你需要刪除zip目錄及其內容文件。所以你需要專門傳遞文件夾.. – Kamal

0

chmod無法改變模式。檢查結果。有關可能會失敗的原因,請參閱註釋here