兼容ie6浏览器的php下载文件代码分享
发布:smiling 来源: PHP粉丝网 添加日期:2021-03-20 16:03:40 浏览: 评论:0
这篇文章主要介绍了兼容ie6浏览器的php下载文件代码分享,解决了ie6下无法下载文件的bug,需要的朋友可以参考下
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);
这个代码是枫哥从国外的一个站点上找到的,亲测可用.度娘出来的结果,你懂的.因此在博客上共享出来,希望对大家有用.国外的站,地址忘了,没有办法放出,理解下.最后,严肃的声明下:这个代码不是我写的,是转载的.
Tags: php下载文件
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)