- 浏览: 68832 次
- 性别:
- 来自: 南京
文章分类
最新评论
在做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();
这个是关键哦.用了这两函数,搞定,图片正常打开,文字也不乱码.
转载自:http://www.9958.pw/post/download_content
发表评论
-
项目管理之如何控制项目进度和质量
2016-07-16 22:37 606控制项目进度和质量首先在整体上要有一个合理清晰的流程,并且在整 ... -
15 个非常棒的 CSS3 效果教程
2016-07-03 20:42 5881. 创建一个漂亮的图标 这个教程将教你如何用纯 C ... -
前20名的不安全密码(需要避免)
2016-07-01 21:41 514下图举例说明了一些人们作出选择密码时最常用的错误,以及如何使你 ... -
js实现图片放大缩小后进行的复杂排序
2016-06-30 21:57 584首先,我们来讲下需求: 1.图片分为大小和小图,大图占四个小 ... -
史上最全ajax(原生JS,javascript版,非jquery)详细注释!
2016-06-29 22:31 810史上最全ajax详细注释!(原生JS,javascript版, ... -
php千万级pv架构经验分享
2016-06-28 22:04 1294转载自:http://www.9958.pw/post/ph ... -
ecshop 时间问题请注意 /data/config.php
2016-06-27 22:43 866ecshop 处理时间,绕来绕去, 后台的时区设置, 并非以 ... -
目前比较流行的二维码的生成
2016-06-26 23:55 584最近比较流行二维码,自己百度了一下发现有一个很不错的实现方法使 ... -
如何阻止移动设备(手机,pad)浏览器双击放大网页?
2016-06-24 22:29 1214现在的手机或平板电脑等移动设备上的浏览器默认都有双击放大的设置 ... -
PHP解决Xss跨域攻击以及sql注入等危险字符串方案类库
2016-06-19 21:45 778由于该模块在项目中的要求是 不能提示任何信息,也不作断点操作, ... -
网站敏感骂人词库及算法(附6仟个敏感词)
2016-06-16 22:07 5885原文:「我今天开着张三丰田去上班 」 strtr:「我今天开 ... -
jQuery制作元素在屏幕中水平垂直居中效果
2016-06-14 21:56 599jQuery.fn.center = function () ... -
纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)
2016-06-11 21:32 9761、正方形 CSS代码如下: #square { widt ... -
分享一个JQuery写的点击上下滚动的小例子
2016-06-08 22:00 502效果图 演示地址 源码下载 <!--more--> ... -
精美的国外扁平化网页设计作品
2016-06-05 16:02 598Who Wanna <!--more--> ... -
提交您的博客到各大网站
2016-06-03 21:04 381各大搜索引擎网站登录入口: Google收录入口:http:/ ... -
推荐7个 CSS3 制作的创意下拉菜单效果
2016-06-02 22:15 4021. 使用 jQuery 和 CSS3 制作向下滑动的导航菜单 ... -
Dev Http Client(Chrome的HTTP插件)
2016-05-31 22:34 755Dev Http Client(Chrome的HTTP插件) ... -
好的用户界面-界面设计的一些技巧
2016-05-29 16:24 4021 尽量使用单列而不是 ... -
项目组制定的一份页面优化指南
2016-05-27 21:40 3641.文档声明 文档声明必须置于网页的HTML部分的最开始,标签 ...
相关推荐
通过清除缓冲区并立即发送数据,我们可以避免额外的数据被添加到文件内容中,从而解决了文件乱码或损坏的问题。 此外,还需要确保文件存储和读取的路径是正确的,以及文件本身没有被错误地编码或处理。例如,如果...
根据提供的标题、描述、标签以及部分内容来看,本文将围绕MySQL乱码问题进行深入探讨,并提供有效的解决方案。 #### 二、MySQL乱码的原因 1. **服务器端字符集设置不当**:MySQL服务器默认字符集可能与实际使用的...
关于PHP下载文件可能出现的问题,比如文件内容乱码或损坏,可能涉及到编码、文件读取方式、缓冲区设置等因素。解决这类问题通常需要检查文件的编码、确保正确设置HTTP响应头,以及检查服务器的配置。 总的来说,PHP...
以下是一些关键知识点,可以帮助你解决PHP下载Excel文件无法打开的问题: 1. **避免在文件下载过程中输出其他信息**: 在下载文件前,确保没有任何非文件内容被输出到浏览器。例如,避免使用`echo`打印日志信息或...
2,重要文件请不要用此软件转换,个人开发的小工具,而且是第一个版本,不保证对文件无损坏,使用需谨慎。 3,使用过程中,如碰到任何问题,请到http://www.piikee.net/index.php留言告诉我出了什么问题,我会在下...
若后台验证码采用的是随机单词形式,而`include/data/words/words.txt`文件丢失或损坏,也会导致验证码无法正常生成。 **解决方案:** 1. **恢复`words.txt`文件:** - 如果备份中有该文件,直接从备份中恢复。 -...
总之,解决MySQL中文乱码问题需要关注数据库、表、列、连接以及数据文件的字符集设置,并确保它们之间的协调一致性。在处理过程中,及时备份数据,做好测试,以避免数据丢失或损坏。在进行数据迁移或系统升级时,...
解决方法是使用较旧版本的XAMPP(如1.7.1),这个版本中还包含ZendOptimizer,能够在安装前对SHOPEX进行优化,从而解决乱码问题。安装好旧版本的XAMPP后,SHOPEX应该能够顺利安装并运行。如果需要使用新版本的XAMPP...
4. 解决已有文件的乱码问题:如果你已经有一些编码不一致的文件,在用Eclipse打开时可能会出现乱码。这时,可以使用Notepad++或其他文本编辑器,打开这些文件,选择与Eclipse设置相同的编码(如`UTF-8`),然后使用`...
2. **非文本文件**:不是所有文件都是文本文件,例如图片、音频或视频文件,这些文件无需转换,强行转换可能导致文件损坏。 3. **编码冲突**:如果你的项目中既有GBK编码的文件,又有UTF-8编码的文件,可能会引发...
1. **PHP5+UTF8环境的文件上传类**: 说明该上传类是为使用PHP5版本语言和UTF-8编码环境所设计,考虑到在不同环境下,文件上传和编码处理的差异性,确保上传过程不会因编码问题导致乱码或者文件损坏。 2. **支持多...
在IT领域,开发者和系统管理员经常使用zip文件来存储、传输和分发代码、文档或软件包。它们可以方便地进行压缩,节省存储空间,并且可以通过密码保护增加安全性。 然而,“慎用ext.zip”的警告可能源于以下几点: ...
在实际应用中,处理文件编码问题时可能会遇到各种意外情况,如乱码、文件损坏等。因此,建议在实现具体功能时,先对文件进行验证,确保文件编码格式和预期一致,且文件内容完好无损。另外,在脚本中合理处理可能出现...
分析这个PHP文件可以帮助我们理解具体实现过程。 **PHP处理步骤**: 1. 读取Word文档内容,可以使用PHP的`file_get_contents`或`fopen`/`fgets`组合。 2. 转换字符编码,使用`iconv`或`mb_convert_encoding`。 3. ...
在Vtiger这样的多语言环境中,如果系统配置不当,或者数据库、文件系统与应用程序之间的编码不一致,就可能出现中文显示为乱码的情况。解决这个问题可能需要调整数据库的字符集设置,更新代码中的编码声明,或者对已...
在PHP编程中,有时我们需要处理不同编码格式的文件,特别是在涉及到多语言网站或者代码迁移时。本篇文章将探讨如何使用PHP实现将...同时,确保在进行编码转换时,充分考虑到可能出现的错误情况,以避免数据丢失或损坏。
- 如果是文件,读取文件内容,使用`iconv`函数进行编码转换。`iconv`函数将指定编码的字符串转换为目标编码。在这个例子中,它将`$input_encoding`编码的字符串转换为`$output_encoding`编码。 - 转换后的字符串...
2. **输入验证**:在接收用户输入或读取外部文件时,应该验证其编码,防止因乱码导致的错误。 3. **错误处理**:当编码转换失败时,应有适当的错误处理机制,如返回默认编码或抛出异常。 4. **使用现成的库**:如`...