兼容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 相关文章推荐
网络资源
Oct 09 PHP
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
Jan 10 PHP
深入php list()函数的详解
Jun 05 PHP
提升PHP性能的21种方法介绍
Jun 25 PHP
PHP的构造方法,析构方法和this关键字详细介绍
Oct 22 PHP
phpstorm编辑器乱码问题解决
Dec 01 PHP
Yii的CDbCriteria查询条件用法实例
Dec 04 PHP
浅谈thinkphp的实例化模型
Jan 04 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
Apr 10 PHP
PHP实现mysqli批量执行多条语句的方法示例
Jul 22 PHP
Discuz不使用插件实现简单的打赏功能
Mar 21 PHP
laravel 解决crontab不执行的问题
Oct 22 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
全国FM电台频率大全 - 30 宁夏回族自治区
2020/03/11 无线电
丧钟首部独立剧集《丧钟:骑士与龙》北美正式开播,场面血腥
2020/04/09 欧美动漫
PHP中for循环语句的几种变型
2006/11/26 PHP
php 多个submit提交表单 处理方法
2009/07/07 PHP
php中判断文件空目录是否有读写权限的函数代码
2012/08/07 PHP
php curl选项列表(超详细)
2013/07/01 PHP
php+ajax实现文章自动保存的方法
2014/12/30 PHP
PHP获取当前相对于域名目录的方法
2015/06/26 PHP
php+ajax无刷新上传图片实例代码
2015/11/17 PHP
JavaScript 动态将数字金额转化为中文大写金额
2009/05/14 Javascript
jquery 分页控件实现代码
2009/11/30 Javascript
js操作iframe兼容各种主流浏览器示例代码
2013/07/22 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
2014/04/06 Javascript
JS+HTML5手机开发之滚动和惯性缓动实现方法分析
2016/06/12 Javascript
JavaScript实现Fly Bird小游戏
2016/12/15 Javascript
ES6关于Promise的用法详解
2018/05/07 Javascript
Layui 设置select下拉框自动选中某项的方法
2018/08/14 Javascript
js 递归json树实现根据子id查父id的方法分析
2019/11/08 Javascript
JS继承实现方法及优缺点详解
2020/09/02 Javascript
JSON stringify方法原理及实例解析
2020/10/23 Javascript
[04:05]TI9战队采访 - Natus Vincere
2019/08/22 DOTA
Python中的defaultdict模块和namedtuple模块的简单入门指南
2015/04/01 Python
Python实现繁体中文与简体中文相互转换的方法示例
2018/12/18 Python
选择python进行数据分析的理由和优势
2019/06/25 Python
Python和Anaconda和Pycharm安装教程图文详解
2020/02/04 Python
Python读写压缩文件的方法
2020/07/30 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
Kidsroom台湾:来自德国的婴儿用品
2017/12/11 全球购物
英国折扣高尔夫商店:Discount Golf Store
2019/11/19 全球购物
餐厅总经理岗位职责
2013/12/31 职场文书
高二美术教学反思
2014/01/14 职场文书
北京故宫导游词
2015/01/31 职场文书
水电工程师岗位职责
2015/02/13 职场文书
2015年国庆节活动总结
2015/03/23 职场文书
2015学生会文艺部工作总结
2015/04/03 职场文书
Python机器学习之基础概述
2021/05/19 Python