php:从POST请求中检索二进制文件


php: Retrieve binary file from POST request

是否有任何方法可以检索作为POST请求响应发送的二进制数据文件?

也就是说,你在某个页面上自定义了你的包,然后点击Submit和HTTP服务器resposne来处理这个带有ZIP档案的POST请求。

我知道我可以用cURL发送POST请求,但接下来该怎么办?如何检索此文件?

感谢

使用cURL发送POST请求(我没有显示代码的那部分,你说你知道如何做到这一点)。返回的响应将是ZIP文件的内容。然后,您可以将其保存在本地文件中,或者将其发送到客户端;我在下面显示第一个选项。

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
...
$result = curl_exec($ch);
file_put_contents("foo.zip", $result);

您也可以使用CURLOPT_FILE选项直接写入文件,而不是先使用变量:

$fh = fopen("foo.zip", "w");
curl_setopt($ch, CURLOPT_FILE, $fh);
close($fh);

一个解决方案可能是让服务器将这个Zip存档放在一起,然后在Post响应中发送回链接。