IE php关于强制下载文件的代码


Posted in Javascript onAugust 23, 2008

 作者:xling
首先看 xls 文件的下载:

//header("Cache-Control: public");
header('content-type:application/vnd.ms-excel');
header("Content-Disposition:attachment; filename=report.xls");

如果不加第一句,会弹出 : Internet Explorer 无法下载 **.php (来自**网站)。Internet Explorer无法打开该 internet 网站。请求的网站不可用,或找不到,请以后再试。

而且连名字都不是所设的名字:report.xls,而是 **.php,把第一句加上就OK了。

在看 rar,gif 之类的,不加第一句,居然通过,不弹出那个错误框框!

如果是 gif等图片的话 ,Content-Disposition:attachment; 会强制弹出一个保存对话框。如果省略或是 inline 就会直接在网页里显示。

上面就是我用笨方法研究出来的(找不到可用的文档,我只好一个一个试)。

下面是 Content-type 应取值,

switch( $file_extension ) {
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
case "mp3": $ctype="audio/mpeg"; break;
case "wav": $ctype="audio/x-wav"; break;
case "mpeg":
case "mpg":
case "mpe": $ctype="video/mpeg"; break;
case "mov": $ctype="video/quicktime"; break;
case "avi": $ctype="video/x-msvideo"; break;

//The following are for extensions that shouldn't be downloaded (sensitive stuff, like php files)
case "php":
case "htm":
case "html":
case "txt": die("<b>Cannot be used for ". $file_extension ." files!</b>"); break;

default: $ctype="application/force-download";
}

Javascript 相关文章推荐
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
May 07 Javascript
jquery+php随机生成红包金额数量代码分享
Aug 27 Javascript
深入理解js generator数据类型
Aug 16 Javascript
微信小程序 登录实例详解
Jan 16 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
Jan 17 Javascript
利用JS测试目标网站的打开响应速度
Dec 01 Javascript
Angularjs过滤器实现动态搜索与排序功能示例
Dec 13 Javascript
JS简单添加元素新节点的方法示例
Feb 10 Javascript
vue如何通过id从列表页跳转到对应的详情页
May 01 Javascript
微信小程序canvas实现刮刮乐效果
Jul 09 Javascript
vue中使用mxgraph的方法实例代码详解
May 17 Javascript
微信小程序里引入SVG矢量图标的方法
Sep 20 Javascript
FormValidate 表单验证功能代码更新并提供下载
Aug 23 #Javascript
Javascript 篱式条件判断
Aug 22 #Javascript
解决AJAX中跨域访问出现'没有权限'的错误
Aug 20 #Javascript
javascript:void(0)的真正含义实例分析
Aug 20 #Javascript
利用404错误页面实现UrlRewrite的实现代码
Aug 20 #Javascript
一些不错的js函数ajax
Aug 20 #Javascript
jQuery formValidator表单验证插件开源了 含API帮助、源码、示例
Aug 14 #Javascript
You might like
apache配置虚拟主机的方法详解
2013/06/17 PHP
PHP实现批量删除(封装)
2017/04/28 PHP
JavaScript的变量作用域深入理解
2009/10/25 Javascript
jquery 按钮状态效果 正常、移上、按下
2013/08/12 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
JavaScript设置获取和设置属性的方法
2015/03/04 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
Jquery使用小技巧汇总
2015/12/29 Javascript
限制只能输入数字的实现代码
2016/05/16 Javascript
jquery遍历table的tr获取td的值实现方法
2016/05/19 Javascript
Bootstrap布局组件教程之Bootstrap下拉菜单
2016/06/12 Javascript
Vue中&quot;This dependency was not found&quot;问题的解决方法
2018/06/19 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
如何在vue里添加好看的lottie动画
2018/08/02 Javascript
详解nodejs 开发企业微信第三方应用入门教程
2019/03/12 NodeJs
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
JavaScript实现简单动态表格
2020/12/02 Javascript
python 数据加密代码
2008/12/24 Python
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
python中找出numpy array数组的最值及其索引方法
2018/04/17 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
2018/04/30 Python
Python设计模式之桥接模式原理与用法实例分析
2019/01/10 Python
python实现扫描局域网指定网段ip的方法
2019/04/16 Python
Python搭建HTTP服务过程图解
2019/12/14 Python
Python谱减法语音降噪实例
2019/12/18 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
2020/05/24 Python
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
美国演唱会和体育门票购买网站:Ticketnetwork
2018/10/19 全球购物
简述数据库的设计过程
2015/06/22 面试题
不服从上级领导安排的检讨书
2014/09/14 职场文书
大学拉赞助协议书范文
2014/09/26 职场文书
Python - 10行代码集2000张美女图
2021/05/23 Python
Python实现DBSCAN聚类算法并样例测试
2021/06/22 Python
浅谈Redis的keys命令到底有多慢
2021/10/05 Redis
分析SQL窗口函数之取值窗口函数
2022/04/21 Oracle