如何在已设置不同标头时创建图像(对于JSON响应)

时间:2013-06-09 14:12:33

标签: php http-headers gd

我正在编写一个简单的PHP文件来在POST上传文件,并创建一个新图像并在响应中包含该新图像的路径。

对于JSON响应,我在发送POST的主PHP文件中设置了标题 - 如下所示:

    header("Content-Type: application/json");

就在我的JSON编码回声之前,这是。

在该部分之上,我从另一个上传POST文件的PHP文件调用一个函数,然后在使用该上传文件渲染不同图像之后调用该文件。

在该功能中为了创建PNG文件我需要放在光盘上我必须声明一个新的标题吗?像这样:

header("Content-type: image/png");

然后我得到了双头问题。

如何解决这个问题?

我不能使用header_remove()BTW。

2 个答案:

答案 0 :(得分:2)

  

“在该功能中,为了创建我需要的PNG文件   光盘我必须声明一个新标题吗?“

没有

只应将标头发送给浏览器。您无需发送标头即可写入光盘。

答案 1 :(得分:1)

  

在该函数中为了创建我需要的PNG文件   光盘我必须声明一个新的标题吗?

您不必声明新标头。正如Danack所指出的,标题仅用于向浏览器发送信息。例如,如果要输出该图像的二进制数据然后调用该标题,它将在浏览器中呈现图像。为了将图像写入磁盘,它非常简单。

<?php
    move_uploaded_file($_FILES['image']['tmp_name'], 'Path/To/File/Location/'.$_FILES['image']['name']);
?>

那应该这样做。