У меня есть php-файл test.php
. Я хочу echo
или print
«Успех» через 5 секунд, вскоре после того, как браузер php вызывается или загружается или открывается браузером. Btw, Иногда мне может понадобиться выполнить / инициализировать некоторые функции через определенный промежуток времени.
Может ли кто-нибудь сказать / предложить мне, как я могу сделать задачу, ориентированную на время, используя php, например, распечатать сообщение через 5 секунд?
Заранее спасибо..
Вы можете прервать выполнение скрипта с помощью функции sleep()
. Если вам нужна точность в секундах, вы можете использовать usleep()
:
# wait half a second (500ms) usleep(500000); echo 'Success';
Как правило, это не очень хорошая идея в 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://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, а затем запустите соответствующий код.