兼容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生成静态HTML速度快类库
Mar 18 PHP
PHP读取XML值的代码(推荐)
Jan 01 PHP
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
Mar 19 PHP
PHP警告Cannot use a scalar value as an array的解决方法
Jan 11 PHP
php全排列递归算法代码
Oct 09 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
Nov 12 PHP
php通过ksort()函数给关联数组按照键排序的方法
Mar 18 PHP
浅析PHP7新功能及语法变化总结
Jun 17 PHP
PHP自定义函数格式化json数据示例
Sep 14 PHP
php遍历、读取文件夹中图片并分页显示图片的方法
Nov 15 PHP
PHP中SQL查询语句的id=%d解释(推荐)
Dec 10 PHP
yii2学习教程之5种内置行为类详解
Aug 03 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实现Ftp用户的在线管理的代码
2007/03/06 PHP
PHPThumb图片处理实例
2014/05/03 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
javascript+xml实现简单图片轮换(只支持IE)
2012/12/23 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
eclipse如何忽略js文件报错(附图)
2013/10/30 Javascript
Javascript实现滚动图片新闻的实例代码
2013/11/27 Javascript
js对象内部访问this修饰的成员函数示例
2014/04/27 Javascript
javascript实现的元素拖动函数宿主为浏览器
2014/07/21 Javascript
JQuery实现表格动态增加行并对新行添加事件
2014/07/30 Javascript
jQuery判断数组是否包含了指定的元素
2015/03/10 Javascript
解读Bootstrap v4 sass设计
2016/05/29 Javascript
js定义类的几种方法(推荐)
2016/06/08 Javascript
AngularJS内建服务$location及其功能详解
2016/07/01 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
2017/04/18 Javascript
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
小程序组件之自定义顶部导航实例
2019/06/12 Javascript
[01:34]完美“圣”典宣传片震撼发布,12.17与你不见不散
2016/12/16 DOTA
[01:22:29]真视界:2019年国际邀请赛总决赛
2020/01/29 DOTA
[01:03:41]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第一场 12.17
2020/12/19 DOTA
Python中pandas dataframe删除一行或一列:drop函数详解
2018/07/03 Python
Python定义函数功能与用法实例详解
2019/04/08 Python
pytorch点乘与叉乘示例讲解
2019/12/27 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
使用pytorch 筛选出一定范围的值
2020/06/28 Python
python代码实现猜拳小游戏
2020/11/30 Python
python 实现客户端与服务端的通信
2020/12/23 Python
英国当代时尚和街头服饰店:18montrose
2018/12/15 全球购物
请写出一段Python代码实现删除一个list里面的重复元素
2015/12/29 面试题
人力资源专业推荐信
2013/11/29 职场文书
问卷调查计划书
2014/01/10 职场文书
秘书英文求职信
2014/04/16 职场文书
细节决定成败演讲稿
2014/05/12 职场文书
计生个人工作总结
2015/02/28 职场文书
党员干部学法用法心得体会
2016/01/21 职场文书
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers