• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

为什么在php下载zip文件时下载文件对话框不能出现

php 来源:Snow 6次浏览

在我的项目中,我想下载xxx.zip文件。为什么在php下载zip文件时下载文件对话框不能出现

我检查我的Apache服务器上的文件:

/usr/local/apache2/conf/httpd.conf 

这个文件的MIME只有两个将AddType:

AddType application/x-compress .Z 
AddType application/x-gzip .gz .tgz 

这两种类型不支持压缩,所以打击他们我已经补充:

AddType application/zip .zip 

然后,我重新启动httpd服务成功:

直接

<?php 
$file_name="xxx.zip"; 
header("Cache-Control: no-cache, must-revalidate"); 
header("Expires: 0"); 
header("Content-Disposition: attachment; filename=".basename($file_name)); 
header("Content-Length:".filesize($file_name)); 
header("Content-Type:application/zip"); 
readfile($file_name); 
exit; 
?> 

但不走运,xxx.zip我布劳尔开放内容,并有messcy代码,而不是下载对话框中我的网站:

service httpd restart 

我运行PHP下载

@ӓ�����'t�� :�>]x�I�1W`� ���:�V2g�z����m^ ��Ӄ&8�E���l�:�kؖb��uƘ�z���qD���w�4��p��^&���s�����i/ݽ�mUH�F�x[`�:��#Nr��+|�n�i����ό�U#�}=!j�D�4�}=�'ujc�`��}hl�cr�"��T6���Λb��"/ ���k�vo$%��x/y���Q�����n�����Y� 

为什么下载文件对话框不能出现?我的linux服务器,浏览器和数据库使用utf8集。谁能帮我 ?我尝试了其他文件格式,例如:jpeg,png,它们都是直接打开内容而不是下载文件对话框。

===========解决方案如下:

在任何其他输出之前输入您的代码…在我的情况下,我创建了一个单独的页面(download.php?file = file_id_goes_here),然后从files.php中调用该文件。所以没有其他输出之前我的下载…


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)