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去除重复字符串两种实现方法
Jan 09 Javascript
jQuery实现选项联动轮播效果【附实例】
Apr 19 Javascript
设置点击文本框或图片弹出日历控件的实现代码
May 12 Javascript
js改变css样式的三种方法推荐
Jun 28 Javascript
Javascript在IE和Firefox浏览器常见兼容性问题总结
Aug 03 Javascript
微信小程序模板之分页滑动栏
Feb 10 Javascript
JS排序之快速排序详解
Apr 08 Javascript
Auto.js自动收取自己和好友蚂蚁森林能量脚本
Jun 28 Javascript
vue实现鼠标移过出现下拉二级菜单功能
Dec 12 Javascript
解决vue-loader加载不上的问题
Oct 21 Javascript
echarts柱状图背景重叠组合而非并列的实现代码
Dec 10 Javascript
react中useState使用:如何实现在当前表格直接更改数据
Aug 05 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中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
2013/02/14 PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
2014/06/19 PHP
JavaScript中String和StringBuffer的速度之争
2010/04/01 Javascript
通过javascript的匿名函数来分析几段简单有趣的代码
2010/06/29 Javascript
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
2011/03/28 Javascript
eclipse如何忽略js文件报错(附图)
2013/10/30 Javascript
JS比较两个时间大小的简单示例代码
2013/12/20 Javascript
jQuery+ajax中getJSON() 用法实例
2014/12/22 Javascript
javascript 操作符(~、&amp;、|、^、)使用案例
2014/12/31 Javascript
javascript删除数组重复元素的方法汇总
2015/06/24 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
原生javascript实现解析XML文档与字符串
2016/03/01 Javascript
Node.js DES加密的简单实现
2016/07/07 Javascript
jQuery自制提示框tooltip改进版
2016/08/01 Javascript
基于Require.js使用方法(总结)
2017/10/26 Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
2018/01/16 Javascript
基于vue-video-player自定义播放器的方法
2018/03/21 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
2018/09/05 Javascript
js实现轮播图效果 纯js实现图片自动切换
2020/08/09 Javascript
Python输出9*9乘法表的方法
2015/05/25 Python
Python利用Beautiful Soup模块创建对象详解
2017/03/27 Python
Python语言描述机器学习之Logistic回归算法
2017/12/21 Python
用python处理图片实现图像中的像素访问
2018/05/04 Python
python os.listdir按文件存取时间顺序列出目录的实例
2018/10/21 Python
Python3实现腾讯云OCR识别
2018/11/27 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
2018/12/28 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
2020/01/21 Python
什么是python的自省
2020/06/21 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
澳大利亚制造的羊皮靴:Original UGG Boots
2017/11/13 全球购物
Gina Bacconi官网:吉娜贝康尼连衣裙和礼服
2018/04/24 全球购物
经典优秀毕业生求职信范文分享
2013/12/18 职场文书
晚会主持词开场白
2014/03/17 职场文书
绿色环保口号
2014/06/12 职场文书
大学四年个人总结
2015/03/03 职场文书
退休教师追悼词
2015/06/23 职场文书