Php Can';无法在IE7中下载文件,但存在';Firefox、Chrome等没有任何问题吗。。? 我有一个脚本,它接收一个加密的URL,并从中生成一个下载,脚本的最批评性的标准是: $MimeType = new MimeType(); $mimetype = $MimeType->getType($filename); $basename = basename($filename); header("Content-type: $mimetype"); header("Content-Disposition: attachment; filename=\"$basename\""); header('Content-Length: '. filesize($filename)); if ( @readfile($filename)===false ) { header("HTTP/1.0 500 Internal Server Error"); loadErrorPage('500'); }

Php Can';无法在IE7中下载文件,但存在';Firefox、Chrome等没有任何问题吗。。? 我有一个脚本,它接收一个加密的URL,并从中生成一个下载,脚本的最批评性的标准是: $MimeType = new MimeType(); $mimetype = $MimeType->getType($filename); $basename = basename($filename); header("Content-type: $mimetype"); header("Content-Disposition: attachment; filename=\"$basename\""); header('Content-Length: '. filesize($filename)); if ( @readfile($filename)===false ) { header("HTTP/1.0 500 Internal Server Error"); loadErrorPage('500'); },php,internet-explorer-7,download,Php,Internet Explorer 7,Download,下载在除IE之外的任何浏览器中都很有魅力,我见过与“无缓存”标题相关的问题,但我不发送类似的内容,他们谈论utf-8字符,但没有任何utf-8字符(并且$filename也没有任何utf-8字符)。在IE6中也有类似的问题。总结如下: 默认情况下,session_start()发送包含“no store”的缓存控制头。 Internet Explorer对这一点的理解有点过于字面,但没有适当的定义 案例的错误处理,因此在您 尝试将输出页保存到磁盘 在session_start()之前,添加“se

下载在除IE之外的任何浏览器中都很有魅力,我见过与“无缓存”标题相关的问题,但我不发送类似的内容,他们谈论utf-8字符,但没有任何
utf-8字符(并且$filename也没有任何utf-8字符)。

在IE6中也有类似的问题。总结如下:

默认情况下,session_start()发送包含“no store”的缓存控制头。 Internet Explorer对这一点的理解有点过于字面,但没有适当的定义 案例的错误处理,因此在您 尝试将输出页保存到磁盘

在session_start()之前,添加“session_cache_limiter('none');”,或查找 功能并适当调整限制器(可能“专用”更接近 标记)


我意识到您发布的代码片段不包括对
session_start()的调用,但我想我会分享这个可能的解决方案,以防你打电话给它,只是没有告诉我们。

我通过发送标题解决了这个问题

header('Pragma: public');
header('Cache-Control: max-age=0');
我不知道session_start()自己发送头

我在的评论部分找到了答案:

使用这个

在IE7浏览器中,转到internet选项-->安全-->自定义级别-->下载 然后启用文件下载的自动提示

这将解决问题


希望这会有所帮助

“它在IE中除外”一点帮助都没有。它怎么不起作用?是否有错误消息?暂停?它是否显示文件内容?它下载了错误的东西吗?超时基本上,它弹出一个下载窗口,但从不前进,在几分钟后它超时说:“Internet Explorer无法从Web服务器下载文件名”是的,首先有一个会话\u start(),我只是发布了这段代码,因为这是一段很长的代码。你不能要求所有用户都这么做:)