# Krite (19.12.2013 / 16:35)Да точно, в этом дело было
bravay, Да вначале скобки убрать надо []
$urls = array('http://site.ru',
'http://site.com',
'http://site.net');
Работает.Спасибо.
Правда немного не так как хотелось, но все же
# Krite (19.12.2013 / 16:35)Да точно, в этом дело было
bravay, Да вначале скобки убрать надо []
$urls = array('http://site.ru',
'http://site.com',
'http://site.net');
# Krite (19.12.2013 / 16:35)еще один вопросик если можено. Для того чтоб два первых сайта обработались, но не отображались, что нужно дописать в код? Простым exit() нельзя обойтись?
bravay, Да вначале скобки убрать надо []
$urls = array('http://site.ru',
'http://site.com',
'http://site.net');
# Krite (20.12.2013 / 07:19)спасибо, вы мне очень помогли
Ну вообще там массив выводится, обработать можно как хочешь
вместо этого echo implode('', $res);
можно, например: echo end($res);
# Krite (19.12.2013 / 14:24)Спасбо за мануал, только вот проблема возникла.
Если надо 3 сайта сразу загрузить, то можно использовать multi curl
$urls[] = array('http://site.ru',
'http://site.com',
'http://site.net');
$mh = curl_multi_init();
foreach ($urls as $i => $
// мультікурл для запитів до вк
function sfdv_multi_curl ($urls,$post_datas){
//отримати два массиви $urls, $pos_datas
$mh = curl_multi_init();
//curl_multi_setopt($mh,CURLMOPT_MAX_HOST_CONNECTIONS,1);
foreach ($urls as $i => $url) {
$conn[$i]=curl_init($url);
curl_setopt($conn[$i],CURLOPT_RETURNTRANSFER,1); //ничего в браузер не давать
curl_setopt($conn[$i],CURLOPT_CONNECTTIMEOUT,1); //таймаут соединения
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]);// добавляем переменные
curl_multi_add_handle ($mh,$conn[$i]);
}
do { curl_multi_exec($mh,$active); } while ($active);//Пока все соединения не отработают
for ($i=0; $i<count($urls); $i++) {
if(sfdv_check_error_execute(json_decode(curl_multi_getcontent($conn[$i]),TRUE))=="OK") {
$res[$i]=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;
}
}
curl_multi_close($mh);
return $res;
}
do { curl_multi_exec($mh,$active); } while ($active);
curl_multi_getcontent($conn[$i])
for ($i=0; $i<count($urls); $i++) {
if ($i%3) {sleep(1);}
if(sfdv_check_error_execute(json_decode(curl_multi_getcontent($conn[$i]),TRUE))=="OK") {
$res[$i]=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;
}