Подтвердить что ты не робот

Curl автоматически отображает результат?

Я использую php 5.3.2, и когда я выполняю завиток, он отображает результат напрямую, не добавляя функцию печати или эха.

Вот мой код:

<?php
$pvars = array('query' => 'ice age', 'orderby' => 'popularity');
$timeout = 30;
$myurl = "http://www.website.com";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $myurl);
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
$xml = curl_exec($curl);
curl_close ($curl);
?>

Что не так с моим кодом и почему он отображает результат?

4b9b3361

Ответ 1

По умолчанию расширение curl выводит результат.

Вам нужно включить параметр CURLOPT_RETURNTRANSFER, например:

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

После этого опция curl_exec вернет результат.

Ответ 2

после php 5.1 curl всегда отображает результаты, которые вы можете просмотреть в документации. чтобы этого не произошло:

echo "< span style='display:none'>";
$pvars = array('query' => 'ice age', 'orderby' => 'popularity');
$timeout = 30;
$myurl = "http://www.website.com";

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $myurl);
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
$xml = curl_exec($curl);
curl_close ($curl);

echo"< /span>";