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判断undefined类型示例代码
Feb 10 Javascript
jquery自定义滚动条插件示例分享
Feb 21 Javascript
JavaScript中的函数的两种定义方式和函数变量赋值
May 12 Javascript
jQuery焦点控制图层展示延迟隐藏的方法
Mar 09 Javascript
JavaScript中的getDay()方法使用详解
Jun 09 Javascript
基于jquery实现全屏滚动效果
Nov 26 Javascript
Bootstrop实现多级下拉菜单功能
Nov 24 Javascript
SVG描边动画
Feb 23 Javascript
webpack配置sass模块的加载的方法
Jul 30 Javascript
JS实现闭包中的沙箱模式示例
Sep 07 Javascript
vue el-table实现行内编辑功能
Dec 11 Javascript
如何基于jQuery实现五角星评分
Sep 02 jQuery
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
教你IIS6的PHP最佳配置方法
2006/09/05 PHP
PHP游戏编程25个脚本代码
2011/02/08 PHP
那些年一起学习的PHP(二)
2012/03/21 PHP
PHP实现下载断点续传的方法
2014/11/12 PHP
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
JS限制上传图片大小不使用控件在本地实现
2012/12/19 Javascript
JS短路原理的应用示例 精简代码的途径
2013/12/13 Javascript
判断在css加载完毕后执行后续代码示例
2014/09/03 Javascript
使用Sticker.js实现贴纸效果
2015/01/28 Javascript
基于jQuery实现的幻灯图片切换
2016/12/02 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
2016/12/19 Javascript
微信小程序表单验证错误提示效果
2017/05/19 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
jQuery发请求传输中文参数乱码问题的解决方案
2018/05/22 jQuery
vue项目中实现缓存的最佳方案详解
2019/07/11 Javascript
JavaScript运行机制实例分析
2020/04/11 Javascript
详解如何修改 node_modules 里的文件
2020/05/22 Javascript
vue-openlayers实现地图坐标弹框效果
2020/09/24 Javascript
JS highcharts实现动态曲线代码示例
2020/10/16 Javascript
vant 中van-list的用法说明
2020/11/11 Javascript
Python是编译运行的验证方法
2015/01/30 Python
python2.7+selenium2实现淘宝滑块自动认证功能
2018/02/24 Python
Python 画出来六维图
2019/07/26 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
使用Tensorboard工具查看Loss损失率
2020/02/15 Python
如何在keras中添加自己的优化器(如adam等)
2020/06/19 Python
html5 video全屏播放/自动播放的实现示例
2020/08/06 HTML / CSS
苹果Mac升级:MacSales.com
2017/11/20 全球购物
销售行业个人求职自荐信
2013/09/25 职场文书
优质的学校老师推荐信
2013/10/28 职场文书
初中高效课堂实施方案
2014/02/26 职场文书
解除劳动合同协议书范本
2014/04/14 职场文书
安全生产月演讲稿
2014/05/09 职场文书
学校领导班子对照检查材料
2014/08/28 职场文书
2015年秋季灭鼠工作总结
2015/07/27 职场文书
2019年工作总结范文
2019/05/21 职场文书