2011-10-27 8 views
1

curl_execの結果がcurl_closeでクリーンアップされることを確かめます。
結果を得るためにcurl_close行をコメントアウトする必要があります。私のPHPバージョンは5.3.8です。
curl_closeで結果を取得するにはどうすればよいですか?ここ は、それはあなたが好きな限りcurl_exec();からのデータが$rに保存されているとおりに返すことができ、戻り値には影響を与えません私のコード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

です。

これは正常に動作します。マルク・Bとして

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

関連する問題