Вопрос по curl ?

Статус
В этой теме нельзя размещать новые ответы.

new_forward

Профессор
Регистрация
5 Май 2008
Сообщения
673
Реакции
44
Доброго времени суток!

Есть два файла, в первом 1.php идет отправка переменной файлу 2.php:

Код:
// инициализация сеанса
$ch = curl_init();
// установка URL и других необходимых параметров
curl_setopt($ch, CURLOPT_URL, "http://www.mysite.ru/2.php");
curl_setopt($ch, CURLOPT_POST, 1); //будет POST
curl_setopt($ch, CURLOPT_HEADER, 0);


curl_setopt($ch, CURLOPT_POSTFIELDS, '&us_id='. $us_id);
// загрузка страницы и выдача её браузеру
curl_exec($ch);
// завершение сеанса и освобождение ресурсов
curl_close($ch);

Во втором идет прием этой переменной и цикл рассылки пользователям инфы!

Сам код curl срабатывает при нажатии в форме кнопки отправить и потом некоторое время думает, видно ждет когда пройдет весь цикл рассылки или ответа от файла 2.php...

Можно ли как сделать чтоб он отправил и не ждал ответа или пока выполниться код второго файла?:)
 

Alternator

Постоялец
Регистрация
23 Мар 2009
Сообщения
295
Реакции
145
используя мультикурл, можно не дожидаться ответа
но при этом если мы завершим скрипт, не пытаясь дождатся ответа, нету гарантии, что данные были полностью отправлены
можно немного просто подождать, но это не 100%гарантия
 

painsource

Постоялец
Регистрация
12 Июл 2009
Сообщения
64
Реакции
8
можеш попробовать в файле 2.php добавить в начале:
ignore_user_abort(true);

подробнее о опции:
Для просмотра ссылки Войди или Зарегистрируйся
 

betatest

Постоялец
Регистрация
3 Дек 2007
Сообщения
516
Реакции
129
вот это добавь в начале второго (принимающего) скрипта

ignore_user_abort(1);
set_time_limit(0);
error_reporting(0);

можно еще что нидь типа echo'ok'; flush();

это чтобы 100% контролировать получение данных 2м скриптом и старт
в первом, соответственно, ждать получения этого ок

можно просто по заголовкам проконтролировать

потом рви коннект в 1 скрипте
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху