curl_close将清理curl_exec的返回结果

时间:2011-10-27 14:17:49

标签: php curl

我肯定会确认curl_exec的结果会被curl_close清理掉 我必须注释掉curl_close行才能得到结果。我的php版本是5.3.8 如何使用curl_close获得结果? 这是我的代码

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;
}

1 个答案:

答案 0 :(得分: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

编辑为Marc B指出:

  

您不需要关闭卷曲。 PHP会在你清理的时候为你清理   函数返回,$ ch超出范围。

因此,即使关闭它也没有意义,但它不应该发生。