Отправка n SMS/сообщений через n мин

Dimexio

Новичок
Отправка n SMS/сообщений через n мин

Народ! Нужна помощь.
Есть php-скрипт, который отправляет sms-сообщения используя e-mail оператора, т.е. абонента ([email protected]). Как можно ограничить число отправляемых сообщений до 1sms на 5 мин. Сам пробовал - не получается.
Если не сложно приведите работающие примеры.
 

440hz

php.ru
Dimexio
1. ограничиваешь на уровне очереди (надеюсь ты не в онлайне отсылаешь?).
2. ограничиваешь на уровне пользователя запихивая ему куку или смотря с какого IP пришел. Лучше сразу оба контроля.
3. можно на уровне сессии так же ...
 

Dimexio

Новичок
Автор оригинала: 440hz
Dimexio
1. ограничиваешь на уровне очереди (надеюсь ты не в онлайне отсылаешь?).
2. ограничиваешь на уровне пользователя запихивая ему куку или смотря с какого IP пришел. Лучше сразу оба контроля.
3. можно на уровне сессии так же ...
куки и сессии для меня ещё темень, можно ли другими способами?
 

ybilevych

Новичок
Dimexio
А ограничение на пользователя или на сервер?
Если на пользователя, то куки и сессии самое простое
Если на сервер, тогда или через файл, или через базу, или через общий ресурс какой-нить...
 

Фанат

oncle terrible
Команда форума
а при чём здесь куки и сессии?

Dimexio
при отправке сообщения пишешь время в файл.
при следующей попытке отправить читаешь файл,и если 5 миунт не прошло, то выводишь надпись "сервис временно недоступен", а если прошло, то отправляешь и пишешь новое время в файл
 

Dimexio

Новичок
Автор оригинала: Фанат
а при чём здесь куки и сессии?

Dimexio
при отправке сообщения пишешь время в файл.
при следующей попытке отправить читаешь файл,и если 5 миунт не прошло, то выводишь надпись "сервис временно недоступен", а если прошло, то отправляешь и пишешь новое время в файл
В принципе я так и делал, но правильно прибавить к времени +5 мин у меня не получается, т.е. в мин. 60 сек.
Хотел бы узнать как корректно осуществить прибавление к дате, например:
сейчас 14:56:00, как прибавить 5 мин, чтобы получилось не 14:61:00, а 15:01:00...?
 

Фанат

oncle terrible
Команда форума
записывай не дату, а unix timestamp
функция time() тебе известна?
 

Dimexio

Новичок
Автор оригинала: Фанат
записывай не дату, а unix timestamp
функция time() тебе известна?
как вывести да:
PHP:
<?
$timestamp=date("U");
print "$timestamp";
?>
Т.е. получается примерно такие значение 1146049441. Значить она пропорционально растёт? А прибавить нужно 5 мин 5*60=300 сек. Т.е. 1146049441+300. И всё? Или я ошибаюсь?
 

440hz

php.ru
Dimexio
а посмотри какие параметры передаются в date(). особено на последний.
 

Dimexio

Новичок
Автор оригинала: Фанат
зачем?
чтобы можно было вычести, что последнее сообщение было отправлено тогда-то, следующая отправка будет доступна через х сек


PHP:
<?
$time_limit=5;// отправлять каждые мин.
$old_send=1146050880;// последнее сообщение
$timestamp=date("U");
$old_send_s=($timestamp-$old_send)/60;

if($old_send_s>=5){print "<p>Отправка возможна</p>";}
else{print "<p>Отправка невозможна!<br>Т.к. последнее сообщение было отправлено $old_send_s мин. назад</p>";}

print "Сейчас: $timestamp";
?>
Но это не формат xx.xx.xx
 
Сверху