php下载文件代码(兼容ie6浏览器)

发布时间:2020-05-14编辑:脚本学堂
本文分享了一段兼容ie6浏览器的php下载文件代码,解决了ie6下无法下载文件的问题,简单实用的php文件下载代码,需要的朋友参考下。

以下代码在win系统下跑没有问题,枫哥亲测可用.如果是linux系统或其它,大家多多测试下吧。

代码:
 

复制代码 代码示例:
<?php
$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');
} // www.jb200.com
else
{
 header('Pragma: no-cache');
}
$handle = fopen($filepath, 'rb');
fpassthru($handle);
fclose($handle);

说明:
以上代码是枫哥从国外的一个站点上找到的,亲测可用.

脚本小编收集整理,感谢原作者枫哥出品~~~