2012-12-02 60 views
0

我有一些允許用戶提交文件的PHP代碼。 然後我可以下載ZIP文件。如果我在Winrar中使用Windows,它解壓縮的很好,我可以打開我的文件,這很好。我已經在多臺電腦上測試過了。從PHP生成的ZIP適用於WinRAR,但不是其他人?

如果我沒有winrar,並且使用Windows 8或Windows 7(或OSX)中的默認解壓縮程序,則會收到一條消息,指出zip文件無效。

是否有任何已知的問題,我一直無法找到?有誰知道什麼可能導致這種行爲?

謝謝,

這是鏈接到輸出壓縮。 https://www.dropbox.com/s/imvzixl3y3l12l1/TestAreaForMax-aa-57.zip

回答

3

沒有看到您的代碼和ZIP文件沒有人會肯定,但我記得有類似的問題,它似乎我的腳本扔了一些錯誤消息,最終在生成的ZIP存檔。一些解壓縮設法從這個恢復,其他人沒有,所以我建議在任何文本編輯器中打開你的ZIP文件,看看你是否沒有像文件開頭的PHP警告消息。

編輯

普通zip文件開頭"PK"。你的文件以" PK"開頭,所以除非你真的不需要這樣做,否則從PHP腳本中刪除?>,這會產生你的zip文件(並且我建議從所有腳本中刪除這個文件),因爲這裏有一個空間,它可能潛伏在?>

如果你在PHP代碼塊,那麼白色空間什麼也不做。但是通過放置?>,您可以在腳本結束時告訴PHP。而在PHP代碼塊之外,白色空間正在被髮送到客戶端。所以如果你保留?>並且空格在它之後,它將被髮送。如果腳本的輸出是可下載的,則表示空間將「加入」用戶保存的字節流。通過刪除?>你沒有明確告訴PHP你的代碼在哪裏結束,在這種情況下,它會自動以源文件的結尾結束。由於編輯器設置通常它是「不可見的」(因此我將語法突出顯示爲顯示與背景顏色不同的顏色的空間),所以空白空間是跟蹤的婊子

通常,由於上述原因,如果你不把PHP代碼與任何東西混合(即HTML),它總是很好不使用?>。它總是有助於配置您的編輯器自動修剪尾部空格保存

+0

如果我添加我的ZIP文件,請你看一下嗎? – ThePerson

+1

當然,但儘可能短 –

+1

你也應該發佈你的代碼 –

相關問題