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 相关文章推荐
firefox下frameset取不到值的解决方法
Sep 06 Javascript
js动态创建表格,删除行列的小例子
Jul 20 Javascript
JavaScript控制两个列表框listbox左右交换数据的方法
Mar 18 Javascript
vue 开发一个按钮组件的示例代码
Mar 27 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
Aug 19 Javascript
vue axios基于常见业务场景的二次封装的实现
Sep 21 Javascript
如何为vue的项目添加单元测试
Dec 19 Javascript
详解vuejs2.0 select 动态绑定下拉框支持多选
Apr 25 Javascript
浅谈layui 表单元素的选中问题
Oct 25 Javascript
小程序实现录音上传功能
Nov 22 Javascript
微信小程序8种数据通信的方式小结
Feb 03 Javascript
通过实例了解Render Props回调地狱解决方案
Nov 04 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
PDO版本问题 Invalid parameter number: no parameters were bound
2013/01/06 PHP
ThinkPHP表单自动验证实例
2014/10/13 PHP
浅析Yii2中GridView常见操作
2016/04/22 PHP
比较全的JS checkbox全选、取消全选、删除功能代码
2008/12/19 Javascript
JavaScript 未结束的字符串常量常见解决方法
2010/01/24 Javascript
js 自定义的联动下拉框
2010/02/07 Javascript
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
javascript里模拟sleep(两种实现方式)
2013/01/25 Javascript
express的中间件cookieParser详解
2014/12/04 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
2015/12/04 Javascript
JQuery中解决重复动画的方法
2016/10/17 Javascript
javascript数据结构之串的概念与用法分析
2017/04/12 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
vue.js 获取select中的value实例
2018/03/01 Javascript
详解ES6通过WeakMap解决内存泄漏问题
2018/03/09 Javascript
vuejs项目打包之后的首屏加载优化及打包之后出现的问题
2018/04/01 Javascript
bing Map 在vue项目中的使用详解
2018/04/09 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
2018/07/22 Javascript
JS XMLHttpRequest原理与使用方法深入详解
2020/04/30 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
Python列表推导式的使用方法
2013/11/21 Python
分析Python中解析构建数据知识
2018/01/20 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
2020/07/20 Python
Python实现简易过滤删除数字的方法小结
2019/01/09 Python
Django CBV模型源码运行流程详解
2020/08/17 Python
Html5 webRTC简单实现视频调用的示例代码
2020/09/23 HTML / CSS
优衣库美国官网:UNIQLO美国
2018/04/14 全球购物
向全球直邮输送天然健康产品:iHerb.com
2020/05/03 全球购物
会计核算科岗位职责
2014/03/19 职场文书
授权委托书公证
2014/09/14 职场文书
六五普法宣传标语
2014/10/06 职场文书
创先争优宣传标语
2014/10/08 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
蜗居观后感
2015/06/11 职场文书
python四个坐标点对图片区域最小外接矩形进行裁剪
2021/06/04 Python
xhunter1.sys可以删除嘛? win11提示xhunter1.sys驱动不兼容解决办法
2022/09/23 数码科技