我想将curl_multi_exec记录存储到一个变量中,但在使用CURLOPT_RETURNTTRANSFER=TRUE后,它对我来说不起作用,然后我做了一些研究并添加了curl_multi_getcontent,这很好。我指的是它对变量的记录值,但问题是它只在变量中存储了很少的结果。
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $stream_url,
CURLOPT_ENCODING => "gzip",
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
CURLOPT_TIMEOUT => 10,
CURLOPT_USERPWD => $user.":".$pass,
CURLOPT_WRITEFUNCTION => "print_out_data",
//CURLOPT_RETURNTRANSFER => true,
CURLOPT_VERBOSE => true // uncomment for curl verbosity
));
$running = null;
$mh = curl_multi_init();
curl_multi_add_handle($mh, $ch);
do {
curl_multi_select($mh, 1);
curl_multi_exec($mh, $running);
$content = curl_multi_getcontent($ch);
$arr = json_decode($content, true);
// print_r($arr);
$foo = $arr['id'];
$bar = $arr['body'];
} while($running > 0);
curl_multi_remove_handle($mh, $ch);
curl_multi_close($ch);
在写之前
$content = array();
线路
$content = curl_multi_getcontent($ch);
替换为
$content[] = curl_multi_getcontent($ch);
循环写入后
print_r($content);