我正在使用此代码在PHP中进行多卷曲:
use of deleted function 'Movable::Movable(const Movable&)'
正如您在代码中看到的那样,使用$ch1 = curl_init();
$ch2 = curl_init();
// set URL and other appropriate options
curl_setopt($ch1, CURLOPT_URL, 'http://www.example.com/');
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, 'http://www.example.com/');
curl_setopt($ch2, CURLOPT_HEADER, 0);
//create the multiple cURL handle
$mh = curl_multi_init();
//add the two handles
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);
$active = null;
//execute the handles
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
while ($active && $mrc == CURLM_OK) {
向curl_multi_add_handle
添加两个句柄
反正有没有重复代码添加句柄$ ch1和$ ch2?
通常我会做一个for循环i ++,但这不是一个选项。
所以我正在寻找这样的东西:
$mh
答案 0 :(得分:1)
使用for循环,但使用数组而不是一组具有相同名称的变量,除了最后的数字。
答案 1 :(得分:1)
根据@Quentin的回答,你可以这样做:
$urls = array('http://www.example.com/', 'http://www.example1.com/', 'http://www.example2.com/');
$url_count = count($urls);
$curl_arr = array();
$mh = curl_multi_init();
for($i = 0; $i < $url_count; $i++)
{
$url = $urls[$i];
$curl_arr[$i] = curl_init($url);
curl_setopt($curl_arr[$i], CURLOPT_HEADER, 0);
curl_multi_add_handle($mh, $curl_arr[$i]);
}
$active = null;
do {
$mrc = curl_multi_exec($mh, $active);
} while($mrc == CURLM_CALL_MULTI_PERFORM);