0

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

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

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

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

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

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

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

然后我得到了双标头问题。

我怎样才能解决这个问题?

我不能使用 header_remove() 顺便说一句。

4

2 回答 2

2

“在那个函数中,为了创建我需要放在光盘上的 PNG 文件,我必须声明一个新的标题,对吧?”

不。

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

于 2013-06-09T14:15:25.020 回答
1

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

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

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

那应该这样做。

于 2013-06-09T14:27:21.210 回答