我使用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. 为什么我的.zip文件在HTTP文件上传后损坏?
- 2. 为什么通过ftp上传的zip文件比原始文件小?
- 3. 上传的文件为空
- 4. 什么是ZIP文件的EOF标记?
- 5. 为什么我的.zip文件被下载为空?
- 6. 为什么.htaccess文件是空的?
- 7. 为什么我上传的文件为空?
- 8. 上传多个文件时,为什么HttpPostedFileBase的列表为空?
- 9. 用CodeIgniter上传ZIP文件?
- 10. Codeigniter和上传zip文件
- 11. php上传:zip文件
- 12. 阅读上传zip文件
- 13. PHP文件上传和zip上传
- 14. 为什么我的HTTPS文件下载损坏.zip文件?
- 15. 文件上传:应该保存的文件名称是什么?
- 16. PHP文件上传中支持的文件类型是什么?
- 17. 什么是PHP ini文件中的MAXIMUM文件上传大小
- 18. 为什么CGI.pm上传成功的新文件上传文件的旧版本?
- 19. 什么是文件something.zip的正确名词? “.zip”或“zip”?
- 20. 上传的docx文件变成zip
- 21. 的iOS:上传ZIP文件与AFNetworking
- 22. 删除上传的zip文件中多余的空目录
- 23. 什么是mime_types上传csv文件?
- 24. 我的文件上传表单不会上传非图像文件。为什么?
- 25. 日食传输失败的zip文件是空的
- 26. 为什么我无法上传文件?
- 27. 为什么RadAsyncUpload不能上传文件?
- 28. 为什么块文件上传?
- 29. 上传文件是空的Laravel 5.4
- 30. 文件上传来的空
你有没有在移动它后检查文件夹中的文件,检查它是否与原始版本相同 – Waygood 2012-07-16 11:57:54
”然后我下载了上传的文件,当我尝试在本地解压缩它时t档案格式不明或已损坏。“ - 所以它正在上传。先删除它,然后重新执行它,以防止它被覆盖。 – Waygood 2012-07-16 12:07:21
正在上传。但是zip中的所有文件都丢失了。 – guitarlass 2012-07-16 12:13:13