# Koenig (27.05.2017 / 17:32)не совсем но это быдло код наверно
_endrju_, еак ты кусок вырезал из массива же
function sfdv_multi_curl ($urls,$post_datas){
//отримати два массиви $urls, $pos_datas
$mh = curl_multi_init();
$offset = 0;
$count_get_multicurl = count($urls)/8;
for($y=0;$y<$count_get_multicurl;$y++){
$urls_output = array_slice($urls,$offset,8,FALSE);
foreach ($urls_output as $i => $url) {
$conn[$i]=curl_init($url);
curl_setopt($conn[$i],CURLOPT_RETURNTRANSFER,1); //ничего в браузер не давать
curl_setopt($conn[$i],CURLOPT_CONNECTTIMEOUT,2); //таймаут соединения
curl_setopt($conn[$i], CURLOPT_USERAGENT, 'Opera/9.80 (Windows NT 6.1; WOW64; U; ru) Presto/2.10.289 Version/12.01');
curl_setopt($conn[$i], CURLOPT_POST, 1); // указываем, что у нас POST запрос
curl_setopt($conn[$i], CURLOPT_POSTFIELDS, $post_datas[$i+$offset]);// добавляем переменные
curl_multi_add_handle ($mh,$conn[$i]);
}
do {curl_multi_exec($mh,$active); } while ($active);//Пока все соединения не отработают
for ($i=0; $i<count($urls_output); $i++) {
if(sfdv_check_error_execute(json_decode(curl_multi_getcontent($conn[$i]),TRUE))=="OK") {
$res[]=json_decode(curl_multi_getcontent($conn[$i]),TRUE); //ответ сервера в переменную
curl_multi_remove_handle($mh,$conn[$i]);
curl_close($conn[$i]);
}else{
$error = sfdv_check_error_execute(json_decode(curl_multi_getcontent($conn[$i]),TRUE));
$res= array("error"=>"error","error_msg"=>"Під час виклику функції мультікурл виникла помилка".$error['error_msg']." ");
break;
}
}
$offset = $offset+8;
}
curl_multi_close($mh);
return $res;
}Добавлено: 27.05.2017 / 20:04
если я правильно понял в класе ты не ипользовал мультикурл? поетомумедленнее?