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 相关文章推荐
mouse_on_title.js
Aug 25 Javascript
动态刷新 dorado树的js代码
Jun 12 Javascript
js 强制弹出窗口代码研究-又一款代码
Mar 20 Javascript
JavaScript 异步方法队列链实现代码分析
Jun 05 Javascript
javascript 弹出窗口中是否显示地址栏的实现代码
Apr 14 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
Mar 20 Javascript
方便实用的jQuery checkbox复选框全选功能简单实例
Oct 09 Javascript
node.js中的http.request.end方法使用说明
Dec 10 Javascript
JavaScript学习笔记之基础语法
Jan 22 Javascript
利用node.js实现自动生成前端项目组件的方法详解
Jul 12 Javascript
JS中验证整数和小数的正则表达式
Oct 08 Javascript
利用vue-i18n实现多语言切换效果的方法
Jun 19 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
哪吒敖丙传:新人物二哥敖乙出场 小敖丙奶气十足
2020/03/08 国漫
《DOTA3》开发工作已经开始 《DOTA3》将代替《DOTA2》
2021/03/06 DOTA
PHP递归调用的小技巧讲解
2013/02/19 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
2014/05/09 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
2016/07/28 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
2018/07/21 PHP
基于PHP实现短信验证码发送次数限制
2020/07/11 PHP
Tab页界面,用jQuery及Ajax技术实现
2009/09/21 Javascript
javascript特殊用法示例介绍
2013/11/29 Javascript
Javascript 按位与赋值运算符 (&amp;=)使用介绍
2014/02/04 Javascript
javascript简单实现命名空间效果
2014/03/06 Javascript
20分钟轻松创建自己的Bootstrap站点
2016/05/12 Javascript
浅谈js在html中的加载执行顺序,多个jquery ready执行顺序
2016/11/26 Javascript
jQuery对table表格进行增删改查
2020/12/22 Javascript
js 转义字符及URI编码详解
2017/02/28 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
浅谈在koa2中实现页面渲染的全局数据
2017/10/09 Javascript
vue.js中父组件调用子组件的内部方法示例
2017/10/22 Javascript
vue中vee validate表单校验的几种基本使用
2018/06/25 Javascript
vue项目刷新当前页面的三种方法
2018/12/04 Javascript
性能优化篇之Webpack构建速度优化的建议
2019/04/03 Javascript
微信小程序bindinput与bindsubmit的区别实例分析
2019/04/17 Javascript
js实现单元格拖拽效果
2020/02/10 Javascript
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
Python continue语句实例用法
2020/02/06 Python
python爬虫基础知识点整理
2020/06/02 Python
AP澳洲中文网:澳洲正品直邮,包税收件无忧
2019/07/12 全球购物
英国男女豪华配饰和礼品网站:Black.co.uk
2020/02/28 全球购物
工作中个人的自我评价
2013/12/31 职场文书
餐饮业经理竞聘演讲稿
2014/01/14 职场文书
仓库管理制度
2014/01/21 职场文书
元旦促销方案
2014/03/15 职场文书
献爱心倡议书
2014/04/14 职场文书
学校安全生产月活动总结
2014/07/05 职场文书
2014年干部培训工作总结
2014/12/17 职场文书
医生个人年度总结
2015/02/28 职场文书