2011-01-26 120 views
52

我使用下面的代码:curl_exec打印结果时,我不想

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, $url); 

curl_setopt($ch, CURLOPT_TIMEOUT, 12); 

$result = curl_exec($ch); 

curl_close ($ch); 

但是它的打印效果立竿见影。是否可以将JSON结果放入一个变量中,以便我可以在需要时打印出来?

+1

在您发布的代码中,我没有看到任何打印 – 2011-01-26 11:20:34

+4

这就是要点,那段代码打印卷曲结果,当我不要求太多。 – 2011-01-26 11:22:18

回答

118

设置CURLOPT_RETURNTRANSFER选项:

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

$result = curl_exec($ch); 

the docs

CURLOPT_RETURNTRANSFER - TRUE返回转移作为curl_exec()返回值的字符串,而不是直接输出出来的。

+2

您的链接文档显示“从PHP 5.1.3开始,此选项无效:使用CURLOPT_RETURNTRANSFER时始终返回原始输出”。我不太确定我的理解是,作为一个非常小的大脑的Mawg,而且我仍然遇到与O.P – Mawg 2014-05-29 16:45:58

-5

php 5.1之后curl将显示总是结果,您可以在文档中查看。为了避免它简单使用

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>"; 
1

你试过了吗?

curl_setopt($ch, CURLOPT_VERBOSE, 0); 

这对我有效!