兼容ie6浏览器的php下载文件代码分享
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)); //usethisunlessyouwanttofindthemimetypebasedonextension,文件后缀格式,不解释. $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'); //checkforIEonlyheaders,坑爹的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);
这个代码是枫哥从国外的一个站点上找到的,亲测可用.度娘出来的结果,你懂的.因此在博客上共享出来,希望对大家有用.国外的站,地址忘了,没有办法放出,理解下.最后,严肃的声明下:这个代码不是我写的,是转载的.