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

2015-01-24信息快讯网

这篇文章主要介绍了兼容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);

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

Yii中CGridView关联表搜索排序方法实例详解
Yii把CGridView文本框换成下拉框的方法
php获取CSS文件中图片地址并下载到本地的方法
PHP间隔一段时间执行代码的方法
php 删除cookie方法详解
php生成html文件方法总结
ThinkPHP实现动态包含文件的方法
PHP静态文件生成类实例
ThinkPHP模版中导入CSS和JS文件的方法
PHP实现文件下载详解
PHP中mysql_field_type()函数用法
ThinkPHP控制器里javascript代码不能执行的解决方法
基于递归实现的php树形菜单代码
PHP调用wsdl文件类型的接口代码分享
PHP实现下载断点续传的方法
php一行代码获取文件后缀名实例分析
php中cookie实现二级域名可访问操作的方法
php实现的css文件背景图片下载器代码
php实现把url转换迅雷thunder资源下载地址的方法
PHP开发框架kohana中处理ajax请求的例子
国产PHP开发框架myqee新手快速入门教程
yii操作cookie实例简介
PHP获取客户端真实IP地址的5种情况分析和实现代码
PHP生成短网址的3种方法代码实例
PHP中对各种加密算法、Hash算法的速度测试对比代码
一个不易被发现的PHP后门代码解析
php操作redis中的hash和zset类型数据的方法和代码例子
PHP在网页中动态生成PDF文件详细教程
CodeIgniter实现更改view文件夹路径的方法
PHP使用range协议实现输出文件断点续传代码实例
php实现批量压缩图片文件大小的脚本
PHP临时文件的安全性分析
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
ThinkPHP实现将本地文件打包成zip下载
ThinkPHP之getField详解
php实现文件下载实例分享
在PHP中使用X-SendFile头让文件下载更快
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
PHP写的资源下载防盗链类分享
©2014-2024 dbsqp.com