我使用jQuery Form Plugin和PHP上傳文件。我上傳了一個Zip文件到服務器,使用move_uploaded_file()
。它返回true,然後我將該文件解壓縮到服務器中的另一個文件夾,將現有文件和文件夾複製到該目錄。但是,我看不到文件夾中的文件。只有文件夾存在。然後我下載了上傳的文件,當我試圖在本地解壓縮時,我得到了The archive is either in unknown format or damaged
。原始的Zip文件打開罰款。我只是不知道檔案發生了什麼。請幫助我。爲什麼上傳的文件Zip文件是空的?
回答
不同系統的Zip實現不同。在Windows上創建的存檔可能在Linux上不可讀。檔案可能實際上是有效的。
請提供細節:您是如何創建的歸檔,你怎麼提取它...
吉他正在同一臺電腦上打開zip(上傳到服務器,然後再次下載),這意味着某處出現了損壞。嘗試FTP的zip,而不是jQuery上傳,然後解壓縮,以檢查kgb的答案是否正確。 – Waygood 2012-07-16 12:04:05
yupp我之前做過。我使用ftp下載並通過代碼解壓縮。它可以很好地使用ftp。 – guitarlass 2012-07-16 12:11:46
通過一切手段,你需要在你的HTML表單指定enctype="multipart/form-data"
。其他明智的,你的文件將無法正確上傳(或全部):
<form id="myForm" action="upload.php" method="post" enctype="multipart/form-data">
File: <input type="file" name="file" />
<input type="submit" value="Submit" />
</form>
根據有關ENCTYPE W3C規範:「該屬性指定用於表單提交給服務器的內容類型(當值方法是「post」),這個屬性的默認值是「application/x-www-form-urlencoded」,值「multipart/form-data」應該和INPUT元素結合使用,type =「file」「
所有這些代碼已經添加了,我不認爲即使是一個空的zip文件也會上傳,如果'enctype =「multipart/form-data」'丟失。 – guitarlass 2012-07-16 12:15:25
- 1. 爲什麼通過ftp上傳的zip文件比原始文件小?
- 2. 爲什麼我的.zip文件在HTTP文件上傳後損壞?
- 3. 上傳的文件爲空
- 4. 什麼是ZIP文件的EOF標記?
- 5. 爲什麼我的.zip文件被下載爲空?
- 6. 爲什麼.htaccess文件是空的?
- 7. 爲什麼我上傳的文件爲空?
- 8. 上傳多個文件時,爲什麼HttpPostedFileBase的列表爲空?
- 9. Restler3-POST上傳(zip)文件
- 10. php上傳:zip文件
- 11. 閱讀上傳zip文件
- 12. 用CodeIgniter上傳ZIP文件?
- 13. Codeigniter和上傳zip文件
- 14. .zip文件上傳彈出
- 15. 的web2py - 上傳文件並讀取內容爲Zip文件
- 16. ZF2文件上傳:文件爲空
- 17. 上傳文件時獲取.zip文件中的所有文件
- 18. 爲什麼我的HTTPS文件下載損壞.zip文件?
- 19. PHP文件上傳和zip上傳
- 20. PHP文件上傳中支持的文件類型是什麼?
- 21. 文件上傳:應該保存的文件名稱是什麼?
- 22. 什麼是PHP ini文件中的MAXIMUM文件上傳大小
- 23. 爲什麼CGI.pm上傳成功的新文件上傳文件的舊版本?
- 24. 什麼是文件something.zip的正確名詞? 「.zip」或「zip」?
- 25. 上傳PHP中的Zip文件
- 26. 的iOS:上傳ZIP文件與AFNetworking
- 27. 上傳的docx文件變成zip
- 28. 如何解壓上傳的zip文件?
- 29. 提取上傳的zip文件?
- 30. 如何上傳apache下的zip文件?
你有沒有在移動它後檢查文件夾中的文件,檢查它是否與原始版本相同 – Waygood 2012-07-16 11:57:54
」然後我下載了上傳的文件,當我嘗試在本地解壓縮它時t檔案格式不明或已損壞。「 - 所以它正在上傳。先刪除它,然後重新執行它,以防止它被覆蓋。 – Waygood 2012-07-16 12:07:21
正在上傳。但是zip中的所有文件都丟失了。 – guitarlass 2012-07-16 12:13:13