На самом деле проблема с этим ответом (помимо пунктов, упомянутых предыдущим комментатором) заключается в том, что он не отвечает на вопрос. Не было упомянуто, если это веб-приложение или нет, поэтому вы не можете быть уверены, как отображается вывод (это может быть даже консольное приложение).

ользую следующий код:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_TIMEOUT, 12); 

$result = curl_exec($ch);

curl_close ($ch);

Тем не менее, печать результатов сразу. Можно ли поместить результат JSON в переменную, чтобы я мог распечатать его, когда захочу?

 Haim Evgi26 янв. 2011 г., 12:20
в коде, который вы публикуете, я не вижу никакой печати
 Oliver Bayes-Shelton26 янв. 2011 г., 12:22
В том-то и дело, что этот сегмент кода печатает результаты скручивания, когда я его тоже не спрашиваю.

Ответы на вопрос(3)

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

echo "< span style='display:none'>";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_TIMEOUT, 12);

$result = curl_exec($ch);

curl_close ($ch);

echo"< /span>";
 mark.sagikazar24 февр. 2015 г., 17:27
На самом деле проблема с этим ответом (помимо пунктов, упомянутых предыдущим комментатором) заключается в том, что он не отвечает на вопрос. Не было упомянуто, если это веб-приложение или нет, поэтому вы не можете быть уверены, как отображается вывод (это может быть даже консольное приложение).
 Tamás Barta24 февр. 2015 г., 17:19
curlПоведение настраивается, но если вы действительно сталкиваетесь с чем-то, что не может быть настроено на возврат значения вместо его печати, вам действительно следует использоватьob_start() прежде чем позвонить, иob_get_clean() после. Возвращаемое значениеob_get_clean() будет содержание, которое в противном случае было бы напечатано. Посмотрите на документацию этих функций, чтобы узнать о них. Ваш ответ действительно не приличный, поэтому я подумал, что вы могли бы поучиться на этом. Не хотел тебя обидеть. Удачи!

Ты пробовала?

curl_setopt($ch, CURLOPT_VERBOSE, 0);

Это сработало для меня!

Решение Вопроса

УстановленCURLOPT_RETURNTRANSFER опция:

// ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$result = curl_exec($ch);

вдокументы:

CURLOPT_RETURNTRANSFER - TRUE вернуть перевод в виде строки возвращаемого значенияcurl_exec() вместо того, чтобы выводить его напрямую.

 carefulnow118 апр. 2017 г., 11:28
Хм, у меня нормально работало с использованием PHP 7.1.1.
 Mawg29 мая 2014 г., 18:45
Ваш связанный документ говорит: «Начиная с PHP 5.1.3, эта опция не имеет никакого эффекта: необработанный вывод всегда будет возвращаться при использовании CURLOPT_RETURNTRANSFER». Я не совсем уверен, что понимаю это, будучи маугом с очень маленьким мозгом, и у меня все еще та же проблема, что и у О.П.
 Kel17 июн. 2014 г., 23:20
Похоже, что это примечание в документации PHP связано с параметром CURLOPT_BINARYTRANSFER, а не с параметром CURLOPT_RETURNTRANSFER.

Ваш ответ на вопрос