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 相关文章推荐
js过滤数组重复元素的方法
Sep 05 Javascript
基于jquery的可多选的下拉列表框
Jul 20 Javascript
js实现通用的微信分享组件示例
Mar 10 Javascript
jquery实现Ctrl+Enter提交表单的方法
Jul 21 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
Oct 28 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
Dec 08 Javascript
BootStrap3中模态对话框的使用
Jan 06 Javascript
jQuery实现拖拽可编辑模块功能代码
Jan 12 Javascript
详解vuex 中的 state 在组件中如何监听
May 23 Javascript
详解使用create-react-app快速构建React开发环境
May 16 Javascript
Node.js API详解之 repl模块用法实例分析
May 25 Javascript
Vue实现点击箭头上下移动效果
Jun 11 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
PHP5.3.1 不再支持ISAPI
2010/01/08 PHP
PHP 采集程序原理分析篇
2010/03/05 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
2015/07/06 PHP
论坛特效代码收集(落伍转发-不错)
2006/12/02 Javascript
用js生产批量批处理执行命令
2008/07/28 Javascript
javascript 简练的几个函数
2009/08/29 Javascript
Javascript检查图片大小不要让大图片撑破页面
2014/11/04 Javascript
JavaScript图片轮播代码分享
2015/07/31 Javascript
关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
2016/06/30 Javascript
详解在vue-cli项目中使用mockjs(请求数据删除数据)
2017/10/23 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
2017/12/14 Javascript
详解使用vuex进行菜单管理
2017/12/21 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
2018/01/02 Javascript
微信小程序使用form表单获取输入框数据的实例代码
2018/05/17 Javascript
微信小程序如何调用json数据接口并解析
2019/06/29 Javascript
js实现数字跳动到指定数字
2020/08/25 Javascript
[01:22]DOTA2神秘商店携大量周边降临完美大师赛
2017/11/07 DOTA
python装饰器使用方法实例
2013/11/21 Python
python语言使用技巧分享
2016/05/31 Python
TensorFlow实现MLP多层感知机模型
2018/03/09 Python
用vue.js组件模拟v-model指令实例方法
2019/07/05 Python
ML神器:sklearn的快速使用及入门
2019/07/11 Python
Python代码实现http/https代理服务器的脚本
2019/08/12 Python
将keras的h5模型转换为tensorflow的pb模型操作
2020/05/25 Python
查看keras各种网络结构各层的名字方式
2020/06/11 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
2020/09/21 Python
css3教程之倾斜页面
2014/01/27 HTML / CSS
HTML5实现表单自动验证功能实例代码
2017/01/11 HTML / CSS
Opodo意大利:欧洲市场上领先的在线旅行社
2019/10/24 全球购物
北京泡泡网网络有限公司.net面试题
2012/07/17 面试题
在c#中using和new这两个关键字有什么意义
2013/05/19 面试题
金鑫耀Java笔试题
2014/09/06 面试题
揠苗助长教学反思
2014/02/04 职场文书
职位说明书范文
2014/05/07 职场文书
春季防火方案
2014/05/10 职场文书
解除财产保全担保书
2014/05/20 职场文书