PHP正在破坏echo上的文件

时间:2013-02-14 09:06:48

标签: php curl download corrupt

我正在使用curl从其他网站获取一些图像和其他文件。 问题是,如果我将提取的内容写入文件,并且只是重定向到下载的文件,那么图像就是完美的。

但是,如果我只回显内容,在Content-type: image/jpeg标题之前,图像总是被破坏。我检查并比较了这两个文件,似乎回声在文件的开头添加了空格,这可能是破坏图像的原因。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

确保您的开始<?php标记位于文件的最开头,并且您在回显后立即exit

答案 1 :(得分:0)

您是否在回显之前使用PHP的header()函数发送了Content-type: image/jpeg?如果不是,PHP仍然假定您将输出HTML,并且在第一个回显时它将为它添加正确的HTML标头。您应该:在任何实际输出之前使用您希望输出的标题信息调用header()并在之后回显内容。 (如果您没有专门处理结果,那么将它保存在内存中并不是一个好习惯 - 请参阅PHP的passthru()和朋友!)