【原】解决php 下 ie 无法下载 来自 无法打开该internet 站点 的问题
2011-09-28 20:37
369 查看
由于某度众所周知的举动,让我搬离写了5年的渣度空间,准备把技术性的文章定在CSDN了。这些都是文章备份。勿怪。。
鉴于最近有些抓取机器和抄袭者,把标题的【原】字都复制,我不得不声明:本文为 yukon12345原创,转载请注明出处http://blog.csdn.net/yukon12345
ie6君你让我说什么好呢?赶紧见好就收,寿终正寝吧(不过估计得还要5年)
情况是这样的:php下通常我们用header来提示浏览器下载一个文件:
=================================
==========================
这样浏览器就会自动下载一个txt文件而不是直接显示文本。
那么我们想在下载之前,验证一下用户登录了没有。势必要用到session_start();如果把上面那个注释去掉,就会出现如下图:
这令我百思不得其解。
用百度搜了下中文,结果全是说改浏览器注册表的,离谱。
谷歌了下英文 session_start ie6 can't download 第一个结果就有了
看来还是要多搜英文啊。
http://bytes.com/topic/php/answers/554529-internet-explorer-6-refusing-let-me-download http://stackoverflow.com/questions/117372/cant-download-file-in-ie7-but-there-isnt-any-problem-in-firefox-chrome-etc
解决方法:1(推荐)
增加一条header('Cache-Control: max-age=0');
解决方法2:
增加一条
session_cache_limiter("private");
原因:
session_start()会默认发出一条包含"no-store" 信息的header。这条header表示希望浏览器不要缓存这个页面的有关数据到硬盘。(登录的页面数据嘛。。缓存到硬盘就有问题了。)
ie君接到这条消息后很傻很天真的什么都不缓存,将所有文件全部放在内存中。当服务器希望浏览器将一个文件下载到硬盘,ie君就被这个bug搞昏了。而且无法采取有效的错误处理方式来应对这个问题。当你尝试下载这个输出页面时,他就会爆这个未知类型的错误。其他浏览器均不会犯这种迷糊。
鉴于最近有些抓取机器和抄袭者,把标题的【原】字都复制,我不得不声明:本文为 yukon12345原创,转载请注明出处http://blog.csdn.net/yukon12345
ie6君你让我说什么好呢?赶紧见好就收,寿终正寝吧(不过估计得还要5年)
情况是这样的:php下通常我们用header来提示浏览器下载一个文件:
=================================
<?php //session_start(); header("content-type:text/html; charset=utf-8"); header( "Content-type:application/text/plain"); if(strpos(SERVER['HTTP_USER_AGENT'],"MSIE")) header( 'Content-Disposition: attachment; filename="'.urlencode("名字").'.txt"' );//如果是ie存为的名字要urlencode else header( 'Content-Disposition: attachment; filename="名字.txt"' );//存为的名字 header( 'Content-Transfer-Encoding: binary' ); echo “z这里是文本内容”;?>
==========================
这样浏览器就会自动下载一个txt文件而不是直接显示文本。
那么我们想在下载之前,验证一下用户登录了没有。势必要用到session_start();如果把上面那个注释去掉,就会出现如下图:
这令我百思不得其解。
用百度搜了下中文,结果全是说改浏览器注册表的,离谱。
谷歌了下英文 session_start ie6 can't download 第一个结果就有了
看来还是要多搜英文啊。
http://bytes.com/topic/php/answers/554529-internet-explorer-6-refusing-let-me-download http://stackoverflow.com/questions/117372/cant-download-file-in-ie7-but-there-isnt-any-problem-in-firefox-chrome-etc
解决方法:1(推荐)
增加一条header('Cache-Control: max-age=0');
解决方法2:
增加一条
session_cache_limiter("private");
原因:
session_start()会默认发出一条包含"no-store" 信息的header。这条header表示希望浏览器不要缓存这个页面的有关数据到硬盘。(登录的页面数据嘛。。缓存到硬盘就有问题了。)
ie君接到这条消息后很傻很天真的什么都不缓存,将所有文件全部放在内存中。当服务器希望浏览器将一个文件下载到硬盘,ie君就被这个bug搞昏了。而且无法采取有效的错误处理方式来应对这个问题。当你尝试下载这个输出页面时,他就会爆这个未知类型的错误。其他浏览器均不会犯这种迷糊。
相关文章推荐
- 解决php 下 ie 无法下载 来自 无法打开该internet 站点 的问题
- IE无法打开internet站点已终止操作的解决办法
- IE无法打开Internet站点已终止操作的解决办法
- Internet Explorer无法下载 *** (来自 ***)。Internet Explorer无法打开该Internet站点。请求的站点不可用,或找不到。请以后再试。”
- (转)解决“Internet Explorer 无法打开 Internet站点已终止操作”问题
- 使用脚本使IE无法打开INTERNET站点的解决办法
- jsp中使用My97日期控件报 “IE中 无法打开internet站点 。。。。。已终止操作” 的解决办法
- 解决ie无法打开php页面,提示下载
- IE无法打开internet站点已终止操作的解决办法 (转)
- JSP页面之“IE无法打开Internet 站点…… 已终止操作”问题
- My97DatePicker 日期控件 出现 ”IE中 无法打开internet站点 。。。。。已终止操作 的解决办法“
- 关于无法显示该网页,弹出对话框显示"Internet Explorer无法打开Internet站点xxx,已终止操作"问题的解决方法
- [导入]解决“Internet Explorer 无法打开 Internet站点已终止操作”问题
- [导入]解决“Internet Explorer 无法打开 Internet站点已终止操作”问题
- 解决“Internet Explorer 无法打开 Internet站点已终止操作”问题(转)
- HTTPS下导出Excel, ie浏览器报“IE 无法下载 无法打开该站点” 解决办法
- JSP页面IE无法打开Internet 站点…… 已终止操作 的解决方法
- JSP页面IE无法打开Internet 站点…… 已终止操作 的解决方法
- ie无法下载 无法打开该internet站点.请求的站点不可用或无法找到.请稍后重试
- IE8下无法打开Internet站点,已终止操作问题解析