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基础知识:类与对象(3) 构造函数和析构函数
Dec 13 PHP
几个有用的php字符串过滤,转换函数代码
May 01 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
May 06 PHP
phpize的深入理解
Jun 03 PHP
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
Jun 25 PHP
基于PHP中的常用函数回顾
Jul 11 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
Apr 22 PHP
WIN8.1下搭建PHP5.6环境
Apr 29 PHP
你应该知道PHP浮点数知识
May 13 PHP
Symfony学习十分钟入门经典教程
Feb 03 PHP
使用composer 安装 laravel框架的方法图文详解
Aug 02 PHP
YII2框架中添加自定义模块的方法实例分析
Mar 18 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
解决phpmyadmin 乱码,支持gb2312和utf-8
2006/11/20 PHP
php微信开发接入
2016/08/27 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
2017/02/25 PHP
PHP接口继承及接口多继承原理与实现方法详解
2017/10/18 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
PHP手机短信验证码实现流程详解
2018/05/17 PHP
laravel-admin 在列表页添加自定义按钮的例子
2019/09/30 PHP
js中根据字数截取字符串,不能截断url
2012/01/12 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
JS小游戏之宇宙战机源码详解
2014/09/25 Javascript
HTML5+setCutomValidity()函数验证表单实例分享
2015/04/24 Javascript
JavaScript动态创建form表单并提交的实现方法
2015/12/10 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
JQuery导航菜单选择特效
2016/04/11 Javascript
Bootstrap每天必学之轮播(Carousel)插件
2016/04/25 Javascript
jQuery层次选择器用法示例
2016/09/09 Javascript
vue.js实例todoList项目
2017/07/07 Javascript
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
React应用中使用Bootstrap的方法
2017/08/15 Javascript
Angular中支持SCSS的方法
2017/11/18 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
2019/01/06 Javascript
javascript 高级语法之继承的基本使用方法示例
2019/11/11 Javascript
python利用装饰器进行运算的实例分析
2015/08/04 Python
python实现简单淘宝秒杀功能
2018/05/03 Python
python3实现zabbix告警推送钉钉的示例
2019/02/20 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
2019/09/28 Python
C#和SQL Server的面试题
2016/08/12 面试题
sort命令的作用和用法
2012/11/04 面试题
JSP&Servlet技术面试题
2015/05/21 面试题
ruby如何进行集成操作?Ruby能进行多重继承吗?
2013/10/16 面试题
安全生产知识竞赛活动总结
2014/07/07 职场文书
群众路线问题查摆对照检查材料
2014/10/04 职场文书
出国留学导师推荐信
2015/03/26 职场文书
物流仓管员岗位职责
2015/04/01 职场文书
教你利用Selenium+python自动化来解决pip使用异常
2021/05/20 Python
Windows11插耳机没反应怎么办? win11耳机没声音的多种解决办法
2021/11/21 数码科技