2016-10-21 68 views
0

php ZipArchive無法打開從服務器下載的zip文件。 我有我用WinRAR創建並上傳到我的服務器一個壓縮文件,文件的位置是在這裏:http://myserver.com/uploads/test.zip這是一個有效的zip文件 這裏是我的代碼從服務器下載zip檔案時出錯

當我運行這段代碼我得到的是

error: Not a zip archive.

它打開文件並提取它,但抱怨文件已經存在,即使我刪除文件。

當我訪問http://myserver.com/update/test.zip時得到的文件被破壞,我不知道爲什麼,我上面粘貼的這個代碼就在一週前工作。

回答

1

問題實際上是.zip文件。我下載了它,我無法用WinZip打開文件。請嘗試製作新的存檔並在服務器上重新上傳。

該代碼看起來不錯,所以我認爲它只是該問題的文件。

UPDATE#1:

.zip文件現在是正確的。嘗試在下載並提取新文件之前刪除這些文件。您可以使用unlink(「uploads/update.zip」),也許您還需要先清除上傳/臨時目錄。

更新#2:

下載現在爲我工作。嘗試添加此標題:

header("Content-Transfer-Encoding: Binary"); 

也不要忘記取出後關閉ZipArchive:

$zip->close(); 
+0

我已經更新了我的答案,你現在可以測試? –

+0

我已經安裝了winzip my self來測試我從code4fun下載的文件,winzip版本20.5(12118)打開它,你有哪些winzip版本? –

+0

@Maxlight我更新了我的答案。我也使用WinZip版本20.5 Pro。 –