PHP下载封装
2015-09-10 14:41
696 查看
function download($has_name, $has_size, $file_name) { ob_end_clean(); //用以解决中文不能显示出来的问题 $file_name = iconv("utf-8", "gb2312", $file_name); $file_sub_path = $_SERVER['DOCUMENT_ROOT'] . "/Download/"; $file_path = $file_sub_path . $file_name; //首先要判断给定的文件存在与否 if (!file_exists($file_path)) { echo "没有该文件文件:" . $file_path; return; } $fp = fopen($file_path, "rb"); $file_size = filesize($file_path); //下载文件需要用到的头 Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); if ($has_size) { Header('Content-Length: ' . $file_size); Header("Accept-Length:" . $file_size); } if ($has_name) { Header("Content-Disposition: attachment; filename=" . $file_name); } $buffer = 1024; $file_count = 0; //向浏览器返回数据 while (!feof($fp) && $file_count < $file_size) { $file_con = fread($fp, $buffer); $file_count += $buffer; echo $file_con; } }
遇到问题,最初下载正常,APK文件,但几天后开始下载 后APK无法解析,发现必须加上
ob_end_clean();
相关文章推荐
- DooDigestAuth php(后台)授权管理类 web浏览器授权
- 计算G711语音的打包长度和RTP里timestamp的增长量
- php读取excel文件的日期时间问题
- php正则判断字符串是否包含中文或特殊字符等
- PHP setcookie() 报 cannot modify header information 错误的解决方法
- 使用Composer管理PHP依赖关系
- phpstorm配置svn
- zimbra配置启用SMTP认证
- zimbra配置启用SMTP认证
- Mac 自带PHP 如何正常连接 PGSql ( 及编译 pgsql.so )
- 再说“php解决服务器美国时间的问题”
- phpcms企业会员组登录进入到企业会员商务中心的修改方法!
- 锚点失效的问题
- php 图片水印+文字水印函数,但是不能设置透明
- 在php模板引擎smarty下输出大括号
- php解决服务器美国时间的问题
- 关于重写的一个问题
- php简介
- php中替换设置个数
- exif_imagetype函数遇到Call to undefined function exif_imagetype问题