兼容ie6浏览器的php下载文件代码分享


Posted in PHP onJuly 14, 2014

PS:这段代码在win系统下跑没有问题,枫哥亲测可用.如果用的是linux或是其他系统,要要诸位自行测试下啦.

$filename = "./".$_REQUEST['name']; //这里是枫哥具体路径,只要$filename是所要下载文件的完整路径就可以.
if (!is_file($filename)) {//检测文件是否存在.
 die('下载的文件好像跟TM谁私奔啦!');
}
$filepath = str_replace('\\', '/', realpath($filename));
$filesize = filesize($filepath);
$filename = substr(strrchr('/'.$filepath, '/'), 1);
$extension = strtolower(substr(strrchr($filepath, '.'), 1));
       // use this unless you want to find the mime type based on extension,文件后缀格式,不解释.
$mime = array('application/octet-stream');
header('Content-Type: '.$mime);
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.sprintf('%d', $filesize));
header('Expires: 0');
// check for IE only headers,坑爹的IE检测,你懂的.
if (isset($_SERVER['HTTP_USER_AGENT']) &&((strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false)))
{
 header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
 header('Pragma: public');
}
else
{
 header('Pragma: no-cache');
}
$handle = fopen($filepath, 'rb');
fpassthru($handle);
fclose($handle);

这个代码是枫哥从国外的一个站点上找到的,亲测可用.度娘出来的结果,你懂的.因此在博客上共享出来,希望对大家有用.国外的站,地址忘了,没有办法放出,理解下.最后,严肃的声明下:这个代码不是我写的,是转载的.

PHP 相关文章推荐
php之Memcache学习笔记
Jun 17 PHP
PHP中比较两个字符串找出第一个不同字符位置例子
Apr 08 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
Jun 30 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
Oct 30 PHP
php+jQuery+Ajax实现点赞效果的方法(附源码下载)
Jul 21 PHP
PHP截取IE浏览器并缩小原图的方法
Mar 04 PHP
Zend Framework教程之Zend_Layout布局助手详解
Mar 04 PHP
PHP类相关知识点实例总结
Sep 28 PHP
微信开发之php表单微信中自动提交两次问题解决办法
Jan 08 PHP
php图片合成方法(多张图片合成一张)
Nov 25 PHP
PHP 二维array转换json的实例讲解
Aug 21 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
Sep 17 PHP
国产PHP开发框架myqee新手快速入门教程
Jul 14 #PHP
PHP开发框架kohana3 自定义路由设置示例
Jul 14 #PHP
PHP缓存机制Output Control详解
Jul 14 #PHP
PHP生成指定长度随机数最简洁的方法
Jul 14 #PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
Jul 12 #PHP
PHP实现获取图片颜色值的方法
Jul 11 #PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
Jul 11 #PHP
You might like
PHP 一个比较完善的简单文件上传
2010/03/25 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
2013/06/17 PHP
在PHP上显示JFreechart画的统计图方法
2013/11/03 PHP
Yii2增加验证码步骤详解
2016/04/25 PHP
PHP获取网站中各文章的第一张图片的代码示例
2016/05/20 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
JSON扫盲帖 JSON.as类教程
2009/02/16 Javascript
JQuery的Validation插件中Remote验证的中文问题
2010/07/26 Javascript
js实现的跟随鼠标移动的时钟效果(中英文日期显示)
2011/01/17 Javascript
封装了一个js图片轮换效果的函数
2011/09/28 Javascript
jQuery Deferred和Promise创建响应式应用程序详细介绍
2013/03/05 Javascript
JavaScript生成的动态下雨背景效果实现方法
2015/02/25 Javascript
jQuery实现的支持IE的html滑动条
2015/03/16 Javascript
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
js实现div模拟模态对话框展现URL内容
2016/05/27 Javascript
Listloading.js移动端上拉下拉刷新组件
2016/08/04 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
2017/02/13 Javascript
jQuery实现简单的下拉菜单导航功能示例
2017/12/07 jQuery
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
VUE UPLOAD 通过ACTION返回上传结果操作
2020/09/07 Javascript
[03:07]DOTA2英雄基础教程 冰霜诅咒极寒幽魂
2013/12/06 DOTA
使用Python编写基于DHT协议的BT资源爬虫
2016/03/19 Python
Python实现PS图像调整黑白效果示例
2018/01/25 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
2020/02/25 Python
基于Python中random.sample()的替代方案
2020/05/23 Python
如何用python处理excel表格
2020/06/09 Python
解决pip install psycopg2出错问题
2020/07/09 Python
python 基于Apscheduler实现定时任务
2020/12/15 Python
微信浏览器左上角返回按钮拦截功能
2017/11/21 HTML / CSS
政府门卫岗位职责
2014/04/29 职场文书
邮政营业员岗位职责
2015/04/14 职场文书
火烧圆明园的观后感
2015/06/03 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书
python 实现的截屏工具
2021/05/08 Python
vue-cli4.5.x快速搭建项目
2021/05/30 Vue.js