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 CSS修改学习第三章 修改样式表
Feb 19 Javascript
jquery div 居中技巧应用介绍
Nov 24 Javascript
javascript之典型高阶函数应用介绍二
Jan 10 Javascript
Javascript中call与apply的学习笔记
Sep 22 Javascript
使用phantomjs进行网页抓取的实现代码
Sep 29 Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
Aug 21 Javascript
简单实现js页面切换功能
Jan 10 Javascript
JS插件plupload.js实现多图上传并显示进度条
Nov 29 Javascript
js+HTML5 canvas 实现简单的加载条(进度条)功能示例
Jul 16 Javascript
angular inputNumber指令输入框只能输入数字的实现
Dec 03 Javascript
Openlayers学习之加载鹰眼控件
Sep 28 Javascript
vue elementUI表格控制对应列
Apr 13 Vue.js
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最新CPU的性能排名
2020/04/02 数码科技
我的论坛源代码(二)
2006/10/09 PHP
PHP文件操作方法汇总
2015/07/01 PHP
又一个图片自动缩小的JS代码
2007/03/10 Javascript
jquery中的sortable排序之后的保存状态的解决方法
2010/01/28 Javascript
javascript之通用简单的table选项卡实现(二)
2010/05/09 Javascript
js单独获取一个checkbox看其是否被选中
2014/09/22 Javascript
jQuery增加与删除table列的方法
2016/03/01 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
一个极为简单的requirejs实现方法
2016/10/20 Javascript
微信小程序多列选择器range-key使用详解
2020/03/30 Javascript
jQuery中过滤器的基本用法示例
2017/10/11 jQuery
jQuery实现的页面遮罩层功能示例【测试可用】
2017/10/14 jQuery
实例详解ztree在vue项目中使用并且带有搜索功能
2018/08/24 Javascript
详解基于Vue/React项目的移动端适配方案
2019/08/23 Javascript
JSONObject与JSONArray使用方法解析
2020/09/28 Javascript
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
2015/05/15 Python
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
2016/06/18 Python
Python网络编程 Python套接字编程
2017/09/13 Python
Python星号*与**用法分析
2018/02/02 Python
Python从零开始创建区块链
2018/03/06 Python
TensorFlow 滑动平均的示例代码
2018/06/19 Python
python使用xlrd和xlwt读写Excel文件的实例代码
2018/09/05 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
接口自动化多层嵌套json数据处理代码实例
2020/11/20 Python
django中ImageField的使用详解
2020/12/21 Python
365 Tickets英国:全球景点门票
2019/07/06 全球购物
澳洲的UGG雪地靴超级市场:Uggs.com.au
2020/04/06 全球购物
2014年廉洁自律承诺书
2014/05/26 职场文书
博士生专家推荐信
2014/09/26 职场文书
商场收银员岗位职责
2015/04/07 职场文书
楚门的世界观后感
2015/06/03 职场文书
积极心理学课程心得体会
2016/01/22 职场文书
Redis6.0搭建集群Redis-cluster的方法
2021/05/08 Redis
Redis 操作多个数据库的配置的方法实现
2022/03/23 Redis
DQL数据查询语句使用示例
2022/12/24 MySQL