0

我正在使用 curl 从其他站点获取一些图像和其他文件。问题是,如果我将获取的内容写入文件,然后重定向到下载的文件,则图像是完美的。

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

4

2 回答 2

1

确保您的开始<?php标签位于文件的开头,并且您exit紧接在回显之后。

于 2013-02-14T09:08:41.670 回答
0

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

于 2013-02-14T09:14:45.373 回答