curl_close очистит возвращаемый результат curl_exec - PullRequest
1 голос
/ 27 октября 2011

Я уверен, что результат 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 Ответ

3 голосов
/ 27 октября 2011

Это не влияет на возвращаемое значение, если данные из 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

Редактировать, как указал Марк Б:

Вам не нужно закрывать завиток.PHP очистит вас, когда функция вернется и $ ch выйдет из области видимости.

Следовательно, нет смысла даже закрывать его, но это не должно происходить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...