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 相关文章推荐
PHP通用检测函数集合
Feb 08 PHP
php 读取文件头判断文件类型的实现代码
Aug 05 PHP
PHP中读取文件的8种方法和代码实例
Aug 05 PHP
php读取flash文件高宽帧数背景颜色的方法
Jan 06 PHP
PHP两种快速排序算法实例
Feb 15 PHP
php实现专业获取网站SEO信息类实例
Apr 02 PHP
thinkPHP的表达式查询用法详解
Sep 14 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
Feb 14 PHP
php的扩展写法总结
May 14 PHP
深入学习微信网址链接解封的防封原理visit_type
Aug 15 PHP
phpfpm的作用和用法
Oct 10 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
Apr 04 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实现session自定义会话处理器的方法
2015/01/27 PHP
Thinkphp5.0 框架视图view的比较标签用法分析
2019/10/12 PHP
jQuery 源代码显示控件 (Ajax加载方式).
2009/05/18 Javascript
javascript中的取反再取反~~没有意义
2014/04/06 Javascript
node.js中的url.parse方法使用说明
2014/12/10 Javascript
JavaScript中利用Array和Object实现Map的方法
2015/07/27 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐二)
2016/07/12 Javascript
JavaScript 闭包详细介绍
2016/09/28 Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
2017/01/11 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
深入理解ES6中let和闭包
2018/02/22 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
2018/02/24 Javascript
如何理解Vue的v-model指令的使用方法
2018/07/19 Javascript
jquery简单实现纵向的无缝滚动代码实例
2019/04/01 jQuery
基于javascript实现贪吃蛇经典小游戏
2020/04/10 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
2020/05/20 Javascript
用Python编写脚本使IE实现代理上网的教程
2015/04/23 Python
整理Python中的赋值运算符
2015/05/13 Python
Python复数属性和方法运算操作示例
2017/07/21 Python
Python函数中不定长参数的写法
2019/02/13 Python
Python脚本导出为exe程序的方法
2020/03/25 Python
Python3批量创建Crowd用户并分配组
2020/05/20 Python
HTML5实现动画效果的方式汇总
2016/02/29 HTML / CSS
微软英国官方网站:Microsoft英国
2016/10/15 全球购物
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
黄河象教学反思
2014/02/10 职场文书
青春励志演讲稿
2014/04/29 职场文书
代领报检证委托书范本
2014/10/11 职场文书
2014年中班下学期工作总结
2014/12/11 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
基层医务人员三严三实心得体会
2016/01/05 职场文书
手把手教你制定暑期学习计划,让你度过充实的暑假
2019/08/22 职场文书
python 通过使用Yolact训练数据集
2021/04/06 Python
React 并发功能体验(前端的并发模式)
2021/07/01 Javascript