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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2011, 20:28   #1
WennY
Форумчанин
 
Регистрация: 17.01.2008
Сообщений: 236
Вопрос Несколько запросов в рамказх потока, CURL

Здравствуйте! Есть такой скрипт:

PHP код:
function multiRequest($data$options = array(), $oneoptions = array())
{
    
// Массив для ресурсов соединения
    
$curls = array();
    
// Массив для результатов
    
$result = array();
    
// Инициализация мульти запроса
    
$mh curl_multi_init();
    
// Задание параметров запроса
    
foreach ($data as $id => $d)
    {
 *
$curls[$id] = curl_init();
 *
$url = (is_array($d) && !empty($d['url'])) ? $d['url'] : $d;
 *
curl_setopt($curls[$id], CURLOPT_URL, * * * * * *$url);
 *
curl_setopt($curls[$id], CURLOPT_USERAGENT, * * *'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)');
 *
curl_setopt($curls[$id], CURLOPT_HEADER, * * * * false);
 *
curl_setopt($curls[$id], CURLOPT_RETURNTRANSFERtrue);
 *
// Дополнительные опции общие запросов
 
*if (!empty($options))
 *{
 *    
curl_setopt_array($curls[$id], $options);
 *}
 *
// Дополнительные опции для определенного запроса
 
*if (!empty($oneoptions[$id]))
 *{
 *    
curl_setopt_array($curls[$id], $oneoptions[$id]);
 *}
 *
// Если post запрос
 
*if (is_array($d))
 *{
 *    if (!empty(
$d['post']))
 *    {
 * *
curl_setopt($curls[$id], CURLOPT_POST, * * * 1);
 * *
curl_setopt($curls[$id], CURLOPT_POSTFIELDS$d['post']);
 *    }
 *}
 *
curl_multi_add_handle($mh$curls[$id]);
    }
    
// Выполняем запрос пока есть соединения
    
$running null;
    do
    {
 *
curl_multi_exec($mh$running);
    }
    while(
$running 0);
    
    
// Получаем данные и закрываем соединения
    
foreach($curls as $id => $content)
    {
 *
curl_multi_remove_handle($mh$content);
    }

    
curl_multi_close($mh);
}
for(
$i=0;$i<1000;$i++)
{
 * *
$list .= '\'whatsmyuseragent.com\',';

На каждый урл он создает по потоку. Каким образом можно реализовать выполнение нескольких запросов в рамках ОДНОГО потока, а не плодить их на каждое действие? Буду благодарен
WennY вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DBGrid и несколько запросов us4us БД в Delphi 7 26.04.2011 13:16
Несколько запросов к БД artemavd БД в Delphi 8 15.09.2010 08:42
Несколько запросов в одном ADOQuery1 XKsandrX Общие вопросы Delphi 3 31.05.2010 14:28
mysql - несколько запросов (C++ Builder2010) animalshadow Общие вопросы C/C++ 0 31.03.2010 17:17
несколько запросов SQL Arteom БД в Delphi 3 09.09.2007 23:39