2011-10-27 41 views
1

我肯定確認curl_exec的結果會被curl_close清除。
我必須註釋掉curl_close行才能得到結果。我的php版本是5.3.8。
如何使用curl_close得到結果? 這裏是我的代碼curl_close會清理curl_exec的返回結果

function curl_get_contents($url) 
{ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    $r = curl_exec($ch); 
    //curl_close($ch); 
    return $r; 
} 
+0

你是說如果取消註釋// curl_close($ ch);這段代碼失敗了? – jlb

+0

您不需要關閉卷曲。當函數返回並且$ ch超出範圍時,PHP將爲您清理。 –

+0

@jlb是的,我必須註釋掉這一行。 – Vontio

回答

3

它的返回值沒有影響,只要從curl_exec();數據存儲在$r可以退貨,只要你喜歡。

這工作正常。

function curl_get_contents($url){ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    $r = curl_exec($ch); 
    curl_close($ch); 
    return $r; 
} 

$returnedValue = curl_get_contents($url); //Holds the contents 

編輯爲馬克·乙指出:

你不需要做捲曲關閉。當 函數返回並且$ ch超出範圍時,PHP將爲您清理。

因此,即使關閉它也沒有意義,但它不應該發生。

+0

我的xampp套裝上的問題。我的捲曲版本:7.21.7 – Vontio