2011-12-02 170 views
2

我的服务器上有一个PHP脚本,它正在向另一台服务器请求映像。来自CURL请求的流响应,无需等待它完成

脚本访问就像这样一个普通图片来源:

<img src="http://example.com/imagecontroller.php?id=1234" /> 

浏览器 - >脚本 - >外部服务器

脚本是做卷曲请求到外部服务器。

是否有可能直接将CURL响应“串流”回客户端(浏览器),因为它在服务器上接收到?

假设我的脚本位于缓慢的共享托管服务器上,并且外部服务器正在快速启动(CDN)。有没有一种方法可以将响应直接发送回客户端,而不会使我的脚本成为瓶颈?如果我的服务器在开始响应客户端之前不需要等待整个映像加载到内存中,那将会很棒。

感谢

回答

0

不用卷曲,你可以使用fsocket做流式传输。

4

-N/--no-buffer标志传递给curl。它执行以下操作:

禁用缓冲输出流。在正常工作 的情况下,curl将使用一个标准缓冲输出流,它将会在数据到达时发送数据,而不是 。使用此选项将使 禁用该缓冲。

请注意,这是记录的否定选项名称。您可以使用 --buffer来执行缓冲。