Как сказал Уокернео, лучший способ сделать это - использовать задание cron на сервере и, возможно, сохранить данные для подарочных карт в MySQL, которые будут проверяться, когда cron запускает php с функциями ...
Другой (очень плохой способ) сделать это - держать внутри вашего php-файла цикл, чтобы проверить, пора ли раздавать подарочные карты, но это ОЧЕНЬ ОЧЕНЬ ПЛОХАЯ идея из-за высокой загрузки ЦП на сервере. ...
Если вы хотите подарить подарочные карты, когда пользователь открывает страницу или что-то покупает, это легко, просто настройте таблицу в MySQL с промежутками времени, в течение которых пользователь может получить подарочные карты, а затем, когда мы отправим форму чтобы купить или проверить это, PHP должен пойти по таблице и проверить, находитесь ли вы в любом промежутке времени.
Надеюсь, это поможет ...