2011-12-02 81 views
2

我的服務器上有一個PHP腳本,它正在向另一臺服務器請求映像。來自CURL請求的流響應,無需等待它完成

腳本訪問就像這樣一個普通圖片來源:

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

瀏覽器 - >腳本 - >外部服務器

腳本是做捲曲請求到外部服務器。

是否有可能直接將CURL響應「串流」回客戶端(瀏覽器),因爲它在服務器上接收到?

假設我的腳本位於緩慢的共享託管服務器上,並且外部服務器正在快速啓動(CDN)。有沒有一種方法可以將響應直接發送回客戶端,而不會使我的腳本成爲瓶頸?如果我的服務器在開始響應客戶端之前不需要等待整個映像加載到內存中,那將會很棒。

感謝

回答

0

不用捲曲,你可以使用fsocket做流式傳輸。

4

-N/--no-buffer標誌傳遞給curl。它執行以下操作:

禁用緩衝輸出流。在正常工作 的情況下,curl將使用一個標準緩衝輸出流,它將會在數據到達時發送數據,而不是 。使用此選項將使 禁用該緩衝。

請注意,這是記錄的否定選項名稱。您可以使用 --buffer來執行緩衝。