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

php中文网
发布: 2016-06-20 12:31:15
原创
1298人浏览过

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

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

很多效果也出来了

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

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

立即学习PHP免费学习笔记(深入)”;

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

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

Delphi 7应用编程150例 全书内容 CHM版
Delphi 7应用编程150例 全书内容 CHM版

Delphi 7应用编程150例 CHM全书内容下载,全书主要通过150个实例,全面、深入地介绍了用Delphi 7开发应用程序的常用方法和技巧,主要讲解了用Delphi 7进行界面效果处理、图像处理、图形与多媒体开发、系统功能控制、文件处理、网络与数据库开发,以及组件应用等内容。这些实例简单实用、典型性强、功能突出,很多实例使用的技术稍加扩展可以解决同类问题。使用本书最好的方法是通过学习掌握实例中的技术或技巧,然后使用这些技术尝试实现更复杂的功能并应用到更多方面。本书主要针对具有一定Delphi基础知识

Delphi 7应用编程150例 全书内容 CHM版 0
查看详情 Delphi 7应用编程150例 全书内容 CHM版

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

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

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

代码如下

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();
登录后复制

这个是关键哦.用了这两函数,搞定,图片正常打开,文字也不乱码.


转载自:http://www.9958.pw/post/download_content

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号