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 相关文章推荐
解决jquery异步按一定的时间间隔刷新问题
Dec 10 Javascript
JavaScript通过prototype给对象定义属性用法实例
Mar 23 Javascript
jQuery定义插件的方法
Dec 18 Javascript
微信小程序 教程之注册程序
Oct 17 Javascript
详解微信小程序 template添加绑定事件
Jun 23 Javascript
Bootstrap模态框插入视频的实现代码
Jun 25 Javascript
关于Stream和Buffer的相互转换详解
Jul 26 Javascript
JavaScript轮播停留效果的实现思路
May 24 Javascript
vue 循环加载数据并获取第一条记录的方法
Sep 26 Javascript
jQuery实现动态加载(按需加载)javascript文件的方法分析
May 31 jQuery
Vue实现Layui的集成方法步骤
Apr 10 Javascript
2020淘宝618理想生活列车自动领喵币js脚本的代码
Jun 02 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
PHP-FPM 的管理和配置详解
2019/02/17 PHP
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
2008/09/25 Javascript
jQuery库与其他JS库冲突的解决办法
2010/02/07 Javascript
JS 类型转换常见方法小结
2010/05/31 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
node.js中的fs.fstat方法使用说明
2014/12/15 Javascript
jquery+html5制作超酷的圆盘时钟表
2015/04/14 Javascript
JQuery实现的图文自动轮播效果插件
2015/06/19 Javascript
jquery Easyui快速开发总结
2015/08/20 Javascript
JS实现的页面自定义滚动条效果
2015/10/26 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
vue双向绑定的简单实现
2016/12/22 Javascript
详解React中的组件通信问题
2017/07/31 Javascript
jQuery超简单遮罩层实现方法示例
2018/09/06 jQuery
Vue注册组件命名时不能用大写的原因浅析
2019/04/25 Javascript
vue+elementui 对话框取消 表单验证重置示例
2019/10/29 Javascript
加速vue组件渲染之性能优化
2020/04/09 Javascript
多个Vue项目部署到服务器的步骤记录
2020/10/22 Javascript
python 读取excel文件生成sql文件实例详解
2017/05/12 Python
用Django实现一个可运行的区块链应用
2018/03/08 Python
python自定义线程池控制线程数量的示例
2019/02/22 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
Python Django中间件,中间件函数,全局异常处理操作示例
2019/11/08 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
2020/04/23 Python
python实现一次性封装多条sql语句(begin end)
2020/06/06 Python
详解移动端h5页面根据屏幕适配的四种方案
2020/04/15 HTML / CSS
北京RT科技有限公司.net工程师面试题
2013/02/15 面试题
网友共享的几个面试题关于Java和Unix等方面的
2016/09/08 面试题
学院书画协会部门职责
2013/11/28 职场文书
学生励志演讲稿
2014/01/06 职场文书
公司授权委托书范本
2014/09/18 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
公司庆典欢迎词
2015/01/26 职场文书
司机个人年终总结
2015/03/03 职场文书
慈善募捐倡议书
2015/04/27 职场文书
【海涛解说】史上最给力比赛,挑战DOTA极限
2022/04/01 DOTA