我正在使用curl从其他网站获取一些图像和其他文件。 问题是,如果我将提取的内容写入文件,并且只是重定向到下载的文件,那么图像就是完美的。
但是,如果我只回显内容,在Content-type: image/jpeg
标题之前,图像总是被破坏。我检查并比较了这两个文件,似乎回声在文件的开头添加了空格,这可能是破坏图像的原因。有什么想法吗?
答案 0 :(得分:1)
确保您的开始<?php
标记位于文件的最开头,并且您在回显后立即exit
。
答案 1 :(得分:0)
您是否在回显之前使用PHP的header()函数发送了Content-type: image/jpeg
?如果不是,PHP仍然假定您将输出HTML,并且在第一个回显时它将为它添加正确的HTML标头。您应该:在任何实际输出之前使用您希望输出的标题信息调用header()并在之后回显内容。 (如果您没有专门处理结果,那么将它保存在内存中并不是一个好习惯 - 请参阅PHP的passthru()和朋友!)