2012-11-06 138 views
1

對於我在PHP CLI中的cURL資源,我已經在curl_setopt(CURLOPT_FILE, $handle)的幫助下設置了一個文件流,以便將下載的內容保存到哪裏,其中$ handle是有效的文件資源我可以寫信給。從cURL中刪除文件句柄(CURLOPT_FILE)

現在我想重用相同的curl資源,清除文件句柄,這樣我就可以執行curl請求並通過輸出緩衝捕獲輸出。

我讀過你應該做curl_setopt(CURLOPT_FILE, STDOUT),但問題在於它繞過了輸出緩衝區,並且我執行的任何請求都會輸出到我的cli,並且無法通過輸出緩衝進行捕獲。 我也嘗試關閉文件句柄,但這只是使響應消失到無效。

那麼有誰知道解決方案?

回答

2

你可以嘗試設置CURLOPT_RETURNTRANSFER爲true,應覆蓋寫入文件

curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, true); 
$result = curl_exec($curl_handle); 

要獲得頭

curl_setopt($curl_handle , CURLOPT_HEADER , true); 
$result = curl_exec($curl_handle); 
list($header , $data) = explode("\r\n\r\n" , $result , 2); 
+0

我還問我能做些什麼來得到迴應的頭以及從身體分離它? –