2

我使用stream_context_createandfopen使用 PHP 发送数据(POST 方法)。

效果很好,$opts['http']['content']但我现在需要发送一个非常大的文件(无法在内存中分配)。

有没有办法告诉 PHP 这content是一个流?

例如$opts['http']['content'] = fopen("/tmp/bigfile.bin");

是否可以使用其他方法(没有 curl)仍然使用stream_context_create

4

1 回答 1

2

你可以fsockopen改用。阅读手册http://www.php.net/manual/en/function.fsockopen.php

通过这种方式,您可以使用fwritehttp://www.php.net/manual/en/function.fwrite.php)分块发送数据。

但是您必须手动编写 HTTP 标头才能将其与 Web 服务器一起使用。

于 2013-06-11T10:32:10.040 回答