[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: отсылка почты с интервалом в минуту
John Cena
никада не стыкался с таймерами, и седня вот столкнулся. обшарил всякие сайты в поисках ответа так и не нашел.
пожалуста подскажите че тут нада придумать, что бы при открытии страницы начались отсылаться письма, но с интервалом в минуту каждому подписчику. т. е.

отослали письмо для 1@mail.ru
прошла минута
отослали письмо для 2@mail.ru
прошла минута
и т.д.

но если я закрою браузер, скрипт должен продолжать работать, пока не закончит весь список подписчиков?
заранее спасибо за ответы



Спустя 3 минуты, 5 секунд (8.09.2010 - 15:38) waldicom написал(а):
А скрипт выполняется где? На сервере? Может тогда для этого использовать cron или php cli ?
Или типа такого:

ignore_user_abort(true);
set_time_limit(0);

Спустя 24 минуты, 21 секунда (8.09.2010 - 16:02) John Cena написал(а):
не, это типа тестового задания. скрипт выполняется у меня дома на денвере) я вот подумал может как то яваскрипт сюда засунуть. т. е. допустим чувак щелкает 1.php. фаил после щелчка отправил первую почту. чувак закрывает фаил, а яваскрипт таймер продолжает работать и каждую минуту вызывать пхп функцию...
но я вот щас это сказал, и вообще ушел в дебри. шо-то я запутался до делов!

Спустя 16 минут, 8 секунд (8.09.2010 - 16:18) waldicom написал(а):
Цитата (John Cena @ 8.09.2010 - 15:02)
а яваскрипт таймер продолжает работать

А где он продолжает работу, если браузер закрыт?

Спустя 16 минут, 58 секунд (8.09.2010 - 16:35) John Cena написал(а):
я предполагал что функция ignore_user_abort(true); будет продолжать работу пхп файла, и в том числе и яваскрипт кода, который находится внутри него! или я ошибаюсь?

Спустя 18 минут, 6 секунд (8.09.2010 - 16:53) waldicom написал(а):
Javascript выполняется на клиенте, php на сервере. Т.е. да, ошибаетесь

Спустя 39 минут, 25 секунд (8.09.2010 - 17:33) John Cena написал(а):
Воще тада хрень получается...
лана, давайте отбросим то что скрипт должен выполнятся даже при закрытии браузера.
я вот тут соорудил кое че. функцию createRequest() писать не буду и так все знают шо там.

<html><script>
for(var i=0; i<2; i++){
var id = setInterval(function(){
var sum = i;
createRequest();
var url = "test2.php?i=" + escape(sum);
request.open("GET",url,true);
//request.onreadystatechange = updatePage;
request.send(null);},1000);
clearInterval(id);}
</script></html>
<?
$to=array();
$i=$_GET['sum'];
$to[0] = "John Smith <john.smith@hotmail.com>";
$to[1] = "Ivan Petrov <ivan@mail.ru>";
$subj = "Invite";
$content = "<h1>My test email</h1>
<p>Here is the message body</p>
<hr />
<p><small>Best regards, <br />
<a href='mailto:info@my-website.com'>info@my-website.com</a></small></p>";
mail_y($i);
function mail_y($s){
mail($to[$s],$subj,$content,"john_cena@mail.ru");}
ignore_user_abort(true);
?>

выполняю дома на денвере. блин присылает тока одно письмо и сразу. может кто подскажет че не так?

Спустя 7 минут, 43 секунды (8.09.2010 - 17:40) John Cena написал(а):
кажись я реально туплю, тут походу из явы надо не переменную передавать а ф-цию как-то вызывать.
mail_y($i); вызовется только один раз всегда...

Спустя 9 минут, 22 секунды (8.09.2010 - 17:50) John Cena написал(а):
А_А_А_А_А_А
все получилось! всем спасибо за помощь. извиняюсь за поднятый шум. будующим поколениям вот пример. все оказалось проще!

<?
$to=array();
$to[0] = "John Smith <john.smith@hotmail.com>";
$to[1] = "Ivan Petrov <ivan@mail.ru>";
$subj = "Invite";
$content = "<h1>My test email</h1>
<p>Here is the message body</p>
<hr />
<p><small>Best regards, <br />
<a href='mailto:info@my-website.com'>info@my-website.com</a></small></p>";
for($i=0;$i<2;$i++){
mail_y($i);
}
function mail_y($s){
sleep(10);
mail($to[$s],$subj,$content,"john_cena@mail.ru");}
ignore_user_abort(true);
?>

Спустя 9 минут, 31 секунда (8.09.2010 - 17:59) waldicom написал(а):
ignore_user_abort(true);

лучше вызывать один раз в начале скрипта. А также обратите внимание на вторую функцию выше
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.