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

Roselani ·
更新时间:2024-11-14
· 667 次阅读

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实现SAE上使用storage上传与下载文件的方法PHP实现远程下载文件到本地php实现图片文件与下载文件防盗链的方法php下载文件源代码(强制任意文件格式下载)PHP 下载文件时自动添加bom头的方法实例解析如何在PHP下载文件名中解决乱码的问题基于php下载文件的详解php下载文件的代码示例php中强制下载文件的代码(解决了IE下中文文件名乱码问题)php做下载文件的实现代码及文件名中乱码解决方法PHP安全下载文件的方法



浏览器 php下载 IE6 ie PHP

需要 登录 后方可回复, 如果你还没有账号请 注册新账号