Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2015, 14:45   #1
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию Многопоточный curl

Всем доброго времени суток!

Не как не пойму как сделать многопоточность, имеется такой код:

Код:
<?php
$file = file("good.txt");
foreach($file as $string)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 500);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36");
curl_setopt($ch, CURLOPT_PROXY, $string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, 'http://ya.ru/');
$html = curl_exec($ch);
if ($html)
{
echo $string;
}
}
?>
Пробывал сделать сам ну не чего не выходит

Код:
<?php
$file = file("good.txt");
foreach($file as $string)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 500);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36");
curl_setopt($ch, CURLOPT_PROXY, $string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, 'http://ya.ru/');
$html = curl_exec($ch);
if ($html)
{
echo $string;
}
}

$mh = curl_multi_init();
curl_multi_add_handle($mh,$ch);
$active = null;

do {
    $mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
echo $mrc;

while ($active && $mrc == CURLM_OK) {
    if (curl_multi_select($mh) != -1) {
        do {
            $mrc = curl_multi_exec($mh, $active);
        } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    }
}
curl_multi_remove_handle($mh, $ch);
curl_multi_close($mh);
?>
nibufep вне форума Ответить с цитированием
Старый 05.04.2015, 19:23   #2
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Вы имеете виду чтобы за одну итерацию цикла у вас несколько запросов шло? ваш код этого не делает. и не сделает, код последовательно выполняется, копайте в этом направлении http://php.net/manual/ru/class.thread.php и в этом http://habrahabr.ru/post/75454/
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 05.04.2015, 19:46   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Страницу на html сделайте, которая через JS откроет нужное количество потоков на PHP.
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Curl error: with the SSL CA cert (php + curl + ssl) Hell Knight PHP 1 27.12.2014 14:30
Режимы компиляции Многопоточный MT и Многопоточный DLL vasiatka Общие вопросы C/C++ 5 20.02.2014 19:56
c#. Многопоточный сервер tiger Помощь студентам 1 13.09.2012 13:24
Многопоточный сервер FAiver Работа с сетью в Delphi 18 31.03.2008 08:51
Многопоточный Ping Квэнди Работа с сетью в Delphi 0 18.12.2006 15:01