Настройка функций PHP на основе таймера

У меня есть php-файл test.php . Я хочу echo или print «Успех» через 5 секунд, вскоре после того, как браузер php вызывается или загружается или открывается браузером. Btw, Иногда мне может понадобиться выполнить / инициализировать некоторые функции через определенный промежуток времени.

Может ли кто-нибудь сказать / предложить мне, как я могу сделать задачу, ориентированную на время, используя php, например, распечатать сообщение через 5 секунд?

Заранее спасибо..

Related of "Настройка функций PHP на основе таймера"

Вы можете прервать выполнение скрипта с помощью функции sleep() . Если вам нужна точность в секундах, вы можете использовать usleep() :

 # wait half a second (500ms) usleep(500000); echo 'Success'; 

Как правило, это не очень хорошая идея в PHP. PHP-скрипт должен выполняться как можно быстрее. Откладывание выполнения PHP скрипта PHP

  • собирается использовать больше ресурсов сервера, чем необходимо
  • могут соответствовать ограничениям времени ожидания в PHP, на сервере или в браузере.

Лучшей альтернативой является JavaScript и его setTimeout () :

 setTimeout(function() { alert ("Done!"); }, 5000); 

(альтернативно, вместо alert() вы можете указать JavaScript, чтобы показать диалог или подобное.)

если вы не хотите зависеть от JavaScript, вы можете рассмотреть перенаправление META, взяв пользователя на страницу, содержащую «Готово!». сообщение.

 <meta http-equiv="refresh" content="5; url=http://example.com/"> 

Вы можете использовать таймер jQuery для задержки выполнения последующих элементов в очереди

http://api.jquery.com/delay/

http://www.w3schools.com/js/js_timing.asp

 <html> <head> <script type="text/javascript"> function timeMsg() { var t=setTimeout("alertMsg()",3000); } function alertMsg() { alert("Hello"); } </script> </head> <body> <form> <input type="button" value="Display alert box in 3 seconds" onclick="timeMsg()" /> </form> </body> </html> 
 while(1){ sleep($time); youfunction(); } в while(1){ sleep($time); youfunction(); } 

Если вам нужно, вы можете использовать это: http://php.net/manual/en/function.register-tick-function.php, но следите за тем, чтобы повлиять на производительность.

В вызываемой функции вы проверяете, прошло ли достаточно времени, и если так отмените регистрацию функции tick, а затем запустите соответствующий код.