可能重複:
Dynamically created zip files by ZipStream in PHP won't open in OSXPHP ZipArchive zip文件將無法在Mac OS中打開
我使用PHP ZipArchive允許網站用戶的幾個文件合併成一個zip文件,然後下載它們。它在我運行它的Fedora Linux計算機上工作完美。但是,如果我使用我的Mac筆記本電腦下載文件,則文件不會解壓縮,雙擊會創建一個cpgz文件。雙擊cpgz文件創建另一個cpgz等。
通過谷歌搜索來看,zip-cpgz循環看起來像是一個很常見的問題,但幾乎所有的解決方案都表明原始文件格式不正確;一個不存在的初始文件的zip文件,一個由不同文件結尾的Windows機器生成的zip文件,類似的東西。我不認爲這是我的情況,因爲它可以在我的Linux機器上正常工作。
使用解壓縮作品打開zip文件中的終端,雖然給出了警告
警告[filename.zip]:在開始或zip文件中3個額外的字節(在嘗試反正處理)
我寧願不告訴用戶使用終端,但如果我能避免它。
下面是其中一個文件的鏈接,我無法提供指向正在運行的網站的鏈接,尚未啓動並正在運行。該文件應該包含8個ascii文件(它們是火星表面上一個站點的表面溫度)。
http://eddybarratt.co.uk/wp-content/uploads/2012/06/files_run0000008.zip
另一個問題是Zip Stream,它暗示了ZipArchive無法正常工作的原因,但有建議如何解決它。 – EddyTheB
這是一個老問題,已關閉,但我有可能的答案。下載動態zip時遇到同樣的問題。問題是在'echo $ zip'之前打印了調試文本,創建了格式錯誤的文件,WinRAR忽略了,但是Archive Utility沒有。在這種情況下,三個字節可能是來自utf8源文件的BOM。如果有人遇到這個問題,用編輯器檢查.zip文件,它必須以PK開頭,之前沒有別的。 – Einacio