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 10 Javascript
JavaScript中的匀速运动和变速(缓冲)运动详细介绍
Nov 11 Javascript
Javascript图像处理—虚拟边缘介绍及使用方法
Dec 27 Javascript
纯Javascript实现Windows 8 Metro风格实现
Oct 15 Javascript
JS如何判断移动端访问设备并解析对应CSS
Nov 27 Javascript
jquery如何根据值设置默认的选中项
Mar 17 Javascript
javascript检测浏览器的缩放状态实现代码
Sep 28 Javascript
深入探究AngularJS框架中Scope对象的超级教程
Jan 04 Javascript
vue + socket.io实现一个简易聊天室示例代码
Mar 06 Javascript
vue2使用keep-alive缓存多层列表页的方法
Sep 21 Javascript
angular4自定义表单控件[(ngModel)]的实现
Nov 23 Javascript
vue 点击其他区域关闭自定义div操作
Jul 17 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页面中文乱码分析
2013/10/29 PHP
php无序树实现方法
2015/07/28 PHP
php+ajax登录跳转登录实现思路
2016/07/31 PHP
js压缩利器
2007/02/20 Javascript
JavaScript的Cookies
2008/01/16 Javascript
深入理解javascript学习笔记(一) 编写高质量代码
2012/08/09 Javascript
JS批量修改PS中图层名称的方法
2014/01/26 Javascript
原生JavaScript实现异步多文件上传
2015/12/02 Javascript
详解javascript获取url信息的常见方法
2016/12/19 Javascript
详解Node全局变量global模块
2017/09/28 Javascript
VSCode 配置React Native开发环境的方法
2017/12/27 Javascript
JavaScript中使用import 和require打包后实现原理分析
2018/03/07 Javascript
JS获取input[file]的值并显示在页面的实现方法
2018/03/09 Javascript
微信小程序WebSocket实现聊天对话功能
2018/07/06 Javascript
VUE路由动态加载实例代码讲解
2019/08/26 Javascript
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
python 默认参数问题的陷阱
2016/02/29 Python
Windows安装Python、pip、easy_install的方法
2017/03/05 Python
wx.CheckBox创建复选框控件并响应鼠标点击事件
2018/04/25 Python
python 获取url中的参数列表实例
2018/12/18 Python
关于Python3 类方法、静态方法新解
2019/08/30 Python
python之yield和Generator深入解析
2019/09/18 Python
python中scrapy处理项目数据的实例分析
2020/11/22 Python
python+selenium自动化实战携带cookies模拟登陆微博
2021/01/19 Python
canvas学习笔记之绘制简单路径
2019/01/28 HTML / CSS
HTML5获取当前地理位置并在百度地图上展示的实例
2020/07/10 HTML / CSS
丝芙兰中国官方商城:SEPHORA中国
2018/01/10 全球购物
美国婴童服装市场上的领先品牌:Carter’s
2018/02/08 全球购物
澳大利亚在线购买葡萄酒:The Wine Collective
2020/02/20 全球购物
员工年终演讲稿
2014/01/03 职场文书
数控技校生自我鉴定
2014/03/02 职场文书
《水上飞机》教学反思
2014/04/10 职场文书
关于感恩的演讲稿400字
2014/08/26 职场文书
项目转让协议书
2014/10/27 职场文书
2015大学迎新标语
2015/07/16 职场文书
2016年秋季运动会广播稿
2015/12/21 职场文书