php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)


Posted in PHP onNovember 16, 2016

在做PHP程序时,需要使用PHP做的文件下载

那做就做呗把代码复制过来改了一改。

很多效果也出来了

那么点击下载后,恩,本以为搞定了文件下载,谁知道,图片打开的时候提示文件损坏,这我就观察了文件的大小。似乎真是多了 1KB左右。

使用PS打开,恩,提示了损坏,不过图象可以出来。

那么我就认为是 那多出来的 1kb的问题了。

然后,我把一个txt上传上去,然后下载.

果然发现,文件的前面以及后面,都多了几个 字符。

那我就在想应该怎么去掉啊.各种百度,谷歌,上论坛提问.

最后,经过我一个多小时的搜索,终于找到了解决办法.

代码如下

public function download()
{
  $upload=M('upload');
  $data=$upload->find($_GET['id']);

  if(empty($data)){
    header('HTTP/1.0 404 Not Found');
    header('Location: .');
  }else{

  $path='./public/Uploads/'.$data['savename'];

  header("Content-Type:".$data['type']);

  header('Content-Disposition: attachment; filename="'.$data['name'].'"');

  header('Content-Length:'.$data['size']);

  ob_clean();
  flush();

  readfile($path);

  }
}

注意:

ob_clean();
flush();这个是关键哦。用了这两函数,搞定,图片正常打开,文字也不乱码。

以上这篇php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
杏林同学录(九)
Oct 09 PHP
windows下升级PHP到5.3.3的过程及注意事项
Oct 12 PHP
《PHP编程最快明白》第七讲:php图片验证码与缩略图
Nov 01 PHP
php学习之function的用法
Jul 14 PHP
基于PHP读取TXT文件向数据库导入海量数据的方法
Apr 23 PHP
PHP获取本周第一天和最后一天示例代码
Feb 24 PHP
codeigniter集成ucenter1.6双向通信的解决办法
Jun 12 PHP
linux下实现定时执行php脚本
Feb 13 PHP
PHP线程的内存回收问题
Jul 08 PHP
PHP实现文件下载【实例分享】
Apr 28 PHP
php 获取xml接口数据的处理方法
May 31 PHP
PHP接入微信H5支付的方法示例
Oct 28 PHP
PHP Header失效的原因分析及解决方法
Nov 16 #PHP
php把时间戳转换成多少时间之前函数的实例
Nov 16 #PHP
php导出csv文件,可导出前导0实例代码
Nov 16 #PHP
PHP制作登录异常ip检测功能的实例代码
Nov 16 #PHP
php array_walk_recursive 使用自定的函数处理数组中的每一个元素
Nov 16 #PHP
Smarty模板常见的简单应用分析
Nov 15 #PHP
Smarty日期时间操作方法示例
Nov 15 #PHP
You might like
php操作excel文件 基于phpexcel
2010/07/02 PHP
php统计文件大小,以GB、MB、KB、B输出
2011/05/29 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
2014/05/12 PHP
php微信公众号开发之校园图书馆
2018/10/20 PHP
PHP getNamespaces()函数讲解
2019/02/03 PHP
php解决安全问题的方法实例
2019/09/19 PHP
jquery之empty()与remove()区别说明
2010/09/10 Javascript
33个优秀的 jQuery 图片展示插件分享
2012/03/14 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
jQuery scroll事件实现监控滚动条分页示例
2014/04/04 Javascript
关于jQuery中fade(),show()起始位置的一点小发现
2017/04/25 jQuery
JavaScript实现图片拖曳效果
2017/09/08 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
vue项目从node8.x升级到12.x后的问题解决
2019/10/25 Javascript
vue 实现input表单元素的disabled示例
2019/10/28 Javascript
[57:31]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第一场 2月1日
2021/03/11 DOTA
Django添加favicon.ico图标的示例代码
2018/08/07 Python
python实现抽奖小程序
2020/04/15 Python
Django框架之登录后自定义跳转页面的实现方法
2019/07/18 Python
python各类经纬度转换的实例代码
2019/08/08 Python
基于Python3读写INI配置文件过程解析
2020/07/23 Python
实例讲解CSS3中的border-radius属性
2015/08/18 HTML / CSS
美国户外运动商店:Sun & Ski
2018/08/23 全球购物
美国小蜜蜂Burt’s Bees德国官网:天然唇部、皮肤和身体护理产品
2020/06/14 全球购物
产品销售员岗位职责
2013/12/18 职场文书
年度考核自我评价
2014/01/25 职场文书
党员自我批评与反省材料
2014/02/10 职场文书
抽奖活动主持词
2014/03/31 职场文书
丧事主持词大全
2014/04/02 职场文书
商务经理岗位职责
2014/07/30 职场文书
二手车交易协议书标准版
2014/11/16 职场文书
一篇文章带你复习java知识点
2021/06/28 Java/Android
Android移动应用开发指南之六种布局详解
2022/09/23 Java/Android