#php #curl
#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. вы говорите, что если вы раскомментируете //curl_close($ch); этот код завершается ошибкой?
2. Вам не нужно делать завиток близко. PHP очистит для вас, когда функция вернется и $ch выйдет за пределы области видимости.
3. @jlb Да, я должен прокомментировать эту строку.
4. Для @MarcB: Спасибо. Если нет решения, я оставлю этот комментарий.
Ответ №1:
Это не влияет на возвращаемое значение, пока данные из 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
Редактировать, как указал Марк Б. :
Вам не нужно выполнять закрытие curl. PHP очистит для вас, когда функция вернется и $ch выйдет за пределы области видимости.
Следовательно, нет смысла даже закрывать его, но этого не должно произойти.
Комментарии:
1. Проблема в моем костюме xampp. Моя версия curl: 7.21.7