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的面向对象(一)
Nov 09 Javascript
另类调用flash无须激活的方法
Dec 27 Javascript
如何在JavaScript中实现私有属性的写类方式(二)
Dec 04 Javascript
PHP结合jQuery实现红蓝投票功能特效
Jul 22 Javascript
关于session和cookie的简单理解
Jun 08 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
Jan 26 Javascript
用vue写一个仿简书的轮播图的示例代码
Mar 13 Javascript
详解在vue-cli项目下简单使用mockjs模拟数据
Oct 19 Javascript
js屏蔽退格键(backspace或者叫后退键与F5)
Feb 10 Javascript
js的新生代垃圾回收知识点总结
Aug 22 Javascript
手把手15分钟搭一个企业级脚手架
Sep 16 Javascript
Vue过渡效果之CSS过渡详解(结合transition,animation,animate.css)
Feb 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
一个目录遍历函数
2006/10/09 PHP
PHP判断文件是否存在、是否可读、目录是否存在的代码
2012/10/03 PHP
PHP基于DOM创建xml文档的方法示例
2017/02/08 PHP
jQuery 获取对象 根据属性、内容匹配, 还有表单元素匹配
2010/05/31 Javascript
document.getElementById介绍
2011/09/13 Javascript
EasyUI 中 MenuButton 的使用方法
2012/07/14 Javascript
使用JavaScript 实现各种跨域的方法
2013/05/08 Javascript
动态的绑定事件addEventListener方法的使用
2014/01/24 Javascript
javascript读写json示例
2014/04/11 Javascript
JavaScript判断表单提交时哪个radio按钮被选中的方法
2015/03/21 Javascript
谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法
2015/12/03 Javascript
jquery实现多次上传同一张图片
2017/01/09 Javascript
JavaScript瀑布流布局实现代码
2017/05/06 Javascript
详解使用React进行组件库开发
2018/02/06 Javascript
Vue中的transition封装组件的实现方法
2019/08/13 Javascript
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
js实现简单的秒表
2020/01/16 Javascript
微信小程序实现通讯录列表展开收起
2020/11/18 Javascript
HTML元素拖拽功能实现的完整实例
2020/12/04 Javascript
[06:49]2018DOTA2国际邀请赛寻真——VirtusPro傲视群雄
2018/08/12 DOTA
[05:09]DOTA2-DPC中国联赛2月22日Recap集锦
2021/03/11 DOTA
Python多线程扫描端口代码示例
2018/02/09 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
Python实现E-Mail收集插件实例教程
2019/02/06 Python
python安装pil库方法及代码
2019/06/25 Python
解决django服务器重启端口被占用的问题
2019/07/26 Python
python绘制玫瑰的实现代码
2020/03/02 Python
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
yy司仪主持词
2014/03/22 职场文书
职务说明书范文
2014/05/07 职场文书
幼师求职自荐信
2014/05/31 职场文书
党的群众路线教育实践活动整改方案
2014/10/28 职场文书
2014年销售员工作总结
2014/12/01 职场文书
导游词之张家界
2019/10/31 职场文书
超详细教你怎么升级Mysql的版本
2021/05/19 MySQL
实例讲解Python中sys.argv[]的用法
2021/06/03 Python