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

时间:2021-05-25

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);

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章