我正在使用php 5.3.2,当我执行curl时,它直接显示结果而不添加打印或回显功能。
这是我的代码:
<?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);
?>
我的代码有什么问题以及显示结果的原因?
答案 0 :(得分:37)
默认情况下,curl扩展名会打印出结果。
您需要启用CURLOPT_RETURNTRANSFER
选项,如下所示:
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
启用该选项后,curl_exec
将返回结果。
答案 1 :(得分:-1)
在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>";