PHP cURL回显curl_multi_exec

时间:2011-05-15 19:31:43

标签: php curl

当我在正常卷曲的页面上进行正常卷曲时,它给了我一页的源代码。我可以像这样把它作为字符串:

$ch = curl_init();
$contents = curl_exec($ch);
echo $contents;  // echos sourcecode of one page

但是现在我有了curl_multi_exec,我试着回应它,但它给了我0000000000000。

$mh = curl_multi_init();

curl_multi_add_handle($mh,$curls[0]);
curl_multi_add_handle($mh,$curls[1]);
curl_multi_add_handle($mh,$curls[2]);
curl_multi_add_handle($mh,$curls[3]);
curl_multi_add_handle($mh,$curls[4]);


$running = null;
do {
    usleep(10000);
    $sisu = curl_multi_exec($mh, $running);
} while($running > 0);
echo $sisu;  // just echos 000000000000000 , but it should echo source of 5 pages

我做错了什么?

2 个答案:

答案 0 :(得分:4)

查看curl_multi_getcontent()功能和CURLOPT_RETURNTRANSFER选项。

这里有一个使用curl_multi代码的好例子:http://www.jaisenmathai.com/articles/php-curl-asynchronous.html

答案 1 :(得分:4)

在while循环后尝试此操作:

for($i=0;$i<5;$i++) {
    $resps[$i] = curl_multi_getcontent($curls[$i]);
    echo $resps[$i];
}