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 设置元素相对于另一个元素的top值(实例代码)
Nov 06 Javascript
javascript日期格式化示例分享
Mar 05 Javascript
node+express+jade制作简单网站指南
Nov 26 Javascript
js的各种排序算法实现(总结)
Jul 23 Javascript
HTML页面,测试JS对C函数的调用简单实例
Aug 09 Javascript
基于AngularJS前端云组件最佳实践
Oct 20 Javascript
原生JS实现简单放大镜效果
Feb 08 Javascript
JavaScript数据结构之二叉树的遍历算法示例
Apr 13 Javascript
vue.js选中动态绑定的radio的指定项
Jun 02 Javascript
jQuery 禁止表单用户名、密码自动填充功能
Oct 30 jQuery
vue实现样式之间的切换及vue动态样式的实现方法
Dec 19 Javascript
JavaScript setInterval()与setTimeout()计时器
Dec 27 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
php除数取整示例
2014/04/24 PHP
浅谈PHP中静态方法和非静态方法的相互调用
2016/10/04 PHP
jQuery chili图片远处放大插件
2009/11/30 Javascript
JavaScript中的Math 使用介绍
2014/04/21 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
2014/09/02 Javascript
教你使用javascript简单写一个页面模板引擎
2015/05/05 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
2016/01/19 Javascript
bootstrap基础知识学习笔记
2016/11/02 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
基于JavaScript实现带数据验证和复选框的表单提交
2017/08/23 Javascript
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
2017/10/24 Javascript
详解node.js的http模块实例演示
2018/07/12 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
[01:04:14]OG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
详解Python迭代和迭代器
2016/03/28 Python
Python处理PDF及生成多层PDF实例代码
2017/04/24 Python
Python将多个excel表格合并为一个表格
2021/02/22 Python
PyQt5实现下载进度条效果
2018/04/19 Python
python判断一个数是否能被另一个整数整除的实例
2018/12/12 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
2020/01/23 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
2020/02/24 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
2020/02/25 Python
纯CSS3实现给头像加个光芒四射且旋转的背景动画效果
2014/05/07 HTML / CSS
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
2016/04/26 HTML / CSS
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
打印机墨盒:123Inkjets
2017/02/16 全球购物
Casetify官网:自制专属手机壳、iPad护壳和Apple Watch手表带
2018/05/09 全球购物
竞选班长演讲稿
2013/12/30 职场文书
办公室主任主任岗位责任制
2014/02/11 职场文书
《童趣》教学反思
2014/02/19 职场文书
个人委托书
2014/07/31 职场文书
向女朋友道歉的话
2015/01/20 职场文书
2016年七夕情人节宣传语
2015/11/25 职场文书
企业团队精神心得体会
2016/01/19 职场文书
幼儿园教学反思范文
2016/03/02 职场文书
导游词之云南-元阳梯田
2019/10/08 职场文书