2015-08-20 126 views
0

我的PHP脚本强制一个文件下载,这一切都正常,但是当强制zip文件下载时,它们会损坏。在PHP中强制文件下载损坏zip文件

当我尝试打开压缩文件在本地,它只是从.zip转换为.zip.cpgz

如果我下载一个直接URL中的zip文件是罚款的文件,所以我知道它的推动过程中只有堕落/下载阶段。

这里是我的代码

header("Content-Type: application/octet-stream"); 
    header("Content-Disposition: attachment; filename=\"_zip_download.zip\""); 
    header("Content-Transfer-Encoding: Binary"); 
    header("Content-Description: File Transfer"); 
    header("Content-Length: " . filesize($zip_file)); 
+1

可能重复[如何强制与PHP文件下载(http://stackoverflow.com/questions/ 7263923/how-to-force-file-download-with-php) – e4c5

回答

1

对于压缩文件,您可以设置的header("Content-Type: application/zip");

header("Content-Type: application/zip"); 
header("Content-Disposition: attachment; filename=\"_zip_download.zip\""); 
header("Content-Length: " . filesize($zip_file)); 
readfile($zip_file); 
exit; 
+0

不幸的是,这并没有什么区别。 –

+0

你使用'readfile'功能吗?你能否尝试在不同的浏览器下载文件? –

+1

我设法解决了这个问题。这是在文件之前发送标题的问题。 –