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事件机制扩展插件 jquery鼠标右键事件
Dec 21 Javascript
让图片旋转任意角度及JQuery插件使用介绍
Mar 20 Javascript
jQuery输入城市查看地图使用介绍
May 08 Javascript
Javascript核心读书有感之词法结构
Feb 01 Javascript
jQuery鼠标经过方形图片切换成圆边效果代码分享
Aug 20 Javascript
jQuery通过写入cookie实现更换网页背景的方法
Apr 15 Javascript
实例讲解使用原生JavaScript处理AJAX请求的方法
May 10 Javascript
JavaScript实现图片瀑布流和底部刷新
Jan 02 Javascript
Ionic3 UI组件之Gallery Modal详解
Jun 07 Javascript
r.js来合并压缩css文件的示例
Apr 26 Javascript
微信小程序动态添加view组件的实例代码
May 23 Javascript
记一次用ts+vuecli4重构项目的实现
May 21 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
ThinkPHP3.1新特性之动态设置自动完成及自动验证示例代码
2014/06/23 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
2016/08/12 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
ThinkPHP3.2框架使用addAll()批量插入数据的方法
2017/03/16 PHP
PHP fopen函数用法实例讲解
2019/02/15 PHP
如何用javascript控制上传文件的大小
2006/10/26 Javascript
这些年、我收集的JQuery代码小结
2012/08/01 Javascript
Angular用来控制元素的展示与否的原生指令介绍
2015/01/07 Javascript
JavaScript的jQuery库插件的简要开发指南
2015/08/12 Javascript
javascript实现添加附件功能的方法
2015/11/18 Javascript
js实现卡片式项目管理界面UI设计效果
2015/12/08 Javascript
JS实现左右无缝轮播图代码
2016/05/01 Javascript
AngularJs学习第八篇 过滤器filter创建
2016/06/08 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
2016/10/28 Javascript
headjs实现网站并行加载但顺序执行JS
2016/11/29 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
vue2.0数据双向绑定与表单bootstrap+vue组件
2017/02/27 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
vue按需引入element Transfer 穿梭框
2017/09/30 Javascript
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
jQuery实现消息弹出框效果
2019/12/10 jQuery
在vue-cli3中使用axios获取本地json操作
2020/07/30 Javascript
Vue实现指令式动态追加小球动画组件的步骤
2020/12/18 Vue.js
[56:14]Fnatic vs OG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python 的类、继承和多态详解
2017/07/16 Python
实例讲解Python3中abs()函数
2019/02/19 Python
python数据类型可变不可变知识点总结
2020/03/06 Python
python读写数据读写csv文件(pandas用法)
2020/12/14 Python
解决python 输出到csv 出现多空行的情况
2021/03/24 Python
前台文员的岗位职责
2013/11/14 职场文书
无财产离婚协议书范本
2014/10/28 职场文书
施工安全保证书
2015/05/09 职场文书
全国助残日活动总结
2015/05/11 职场文书
导游词之绍兴柯岩古镇
2020/01/09 职场文书
sqlserver2017共享功能目录路径不可改的解决方法
2021/04/16 SQL Server
SpringCloud之@FeignClient()注解的使用方式
2021/09/25 Java/Android