2012-07-19 77 views
3

我一直無法弄清楚是否有辦法用php將特定的目錄解壓到一個zip文件中。當使用代碼,如使用PHP將zip壓縮到一個特定的目錄中ZipArchive

$zip->extractTo("files/"); 

將解壓zip到目錄「文件」,並把匹配的zip的名稱的目錄中的所有文件。我不希望上傳方能夠決定上傳目錄的名稱。例如,如果我上傳了一個名爲 「zip.pdf」含有「myimg.jpg」當我將其解壓縮它的位置變得拉鍊:

files/zip/myimg.jpg 

那裏,我希望它是

files/myimg.jpg 

不管怎麼說,我想知道是否有辦法讓ZipArchive不會創建一個新的目錄來存放解壓縮的內容,或者如果我將不得不遍歷所有解壓縮的文件並在解壓縮完成後移動它們。

回答

2

最安全的方法是通過壓縮zip內容並單獨處理每個文件。也就是說,解壓到唯一的臨時目錄,然後查看每個文件並決定。如果不同用戶的文件發生衝突會怎樣?不要讓這種事情盲目發生。

+0

它是一個非常簡單的zip驅動的客戶端CMS,目標是讓任何新的上傳完全覆蓋前一組文件,如果有衝突的話。我們只是試圖避免強制客戶端使用特定的zip文件名。 – rcooper102 2012-07-19 23:33:54

相關問題