Как установить значения внутри столбца на ноль каждые 24 часа? - PullRequest
0 голосов
/ 03 февраля 2019

У меня есть веб-сайт, который позволяет пользователям загружать файлы PDF, я установил ограничение на загрузку 10 файлов в день для каждого пользователя и сохранял числа в таблице MySQL в столбце с именем «загрузки».

Каждый день яиспользуйте эту команду для установки всех значений на 0 для всех пользователей:

update users set downloads = 0

Я связываюсь с моим провайдером веб-хостинга, и они отказались дать мне привилегию суперпользователя, чтобы составить расписание для этого столбца, чтобы он сам сбрасывался каждые 24 часа.

Есть ли другой способ сделать небольшой код в PHP для сброса этого столбца извне или каким-либо другим способом сделать это?

Обновление: я также не могу запустить задание cron!

Ответы [ 2 ]

0 голосов
/ 03 февраля 2019

Сохраняйте в базе данных дату и номер загрузок в одном и том же поле, каждый раз, когда вы обновляете это поле, спрашивайте, не является ли внутренняя дата сегодняшней, если не сохранить сегодняшнюю дату, и, например, нулевое число загрузок, например, ваше поле будет:

date_downloadsTimes
03-02-2019_2

0 голосов
/ 03 февраля 2019

Сохраните время последнего сброса в файле или базе данных и при каждом новом запросе на загрузку проверяйте, был ли последний сброс более 24 часов назад.Если это так, сбросьте счетчик загрузок и обновите время.Таким образом, вы не зависите от фонового задания.

В качестве альтернативы вы можете настроить маршрут (какой-то URL-адрес для вызова), который периодически вызывается из внешнего источника (вашего компьютера или какого-либо веб-сервиса), исбрасывает счетчики загрузок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...