我正在使用以下代码:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 12);
$result = curl_exec($ch);
curl_close ($ch);
但是,它将立即打印结果。是否可以将JSON结果放入变量中,以便在需要时可以将其打印出来?
我正在使用以下代码:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 12);
$result = curl_exec($ch);
curl_close ($ch);
但是,它将立即打印结果。是否可以将JSON结果放入变量中,以便在需要时可以将其打印出来?
Answers:
设置CURLOPT_RETURNTRANSFER
选项:
// ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
根据文档:
CURLOPT_RETURNTRANSFER
-TRUE
将传输作为返回值的字符串返回,curl_exec()
而不是直接将其输出。
你有没有尝试过?
curl_setopt($ch, CURLOPT_VERBOSE, 0);
这对我有用!
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>";
curl
的行为是可配置的,但是如果确实遇到无法配置为返回值而不是打印值的东西,则应ob_start()
在调用它之前和ob_get_clean()
之后使用它。返回值ob_get_clean()
将是本应打印的内容。查看这些功能的文档以了解它们。您的回答确实不合理,所以我认为您可以从中学习。并不是要冒犯你。祝好运!