Всем привет! Сегодня мы с вами рассмотрим реализацию задержек на php. Итак, поехали!
Для того чтобы выполнить простую задержку необходимо воспользоваться функцией sleep().
echo 'Задержка 3 секунды'."<br>";
sleep(3);
echo 'Последующее выполнение кода';
В качестве аргумента данная функция принимает в себя количество секунд в течении которых будет длиться задержка. То есть после вызова данной функции должно пройти 3 секунды и только после этого начнет выполняться последующая часть кода.
У функции sleep() есть аналог, а именно функция usleep().
echo 'Задержка 3 секунды'."<br>";
usleep(3000000);
echo 'Последующее выполнение кода';
Отличие заключается в том что данная функция принимает значение аргумента в микросекундах.(3000000 мкс = 3 с)
Если мы хотим указать задержку на нечетное количество времени можно воспользоваться функцией nanosleep().
echo 'Задержка 1.5 секунды'."<br>";
time_nanosleep (1,500000);
echo 'Последующее выполнение кода';
Первым аргументом данная функция принимает количество секунд, а вторым количество микросекунд. В нашем примере мы выполнили задержку в 1.5 секунды.
Можно также выполнять задержки относительно текущего времени.
echo 'Задержка 3 секунды'."<br>";
echo time_sleep_until(time()+3);
echo 'Последующее выполнение кода';
Делается это через функцию time_sleep_until(). В ней мы указываем количество секунд прошедших с эпохи UNIX, то есть с 1979 года. Сделать это можно через функцию time(). Получив текущее количество секунд прошедших с 1979 Года нам достаточно приплюсовать количество секунд задержки.
Напоследок мы с вами рассмотрим функцию с помощью которой можно ограничить время выполнения скрипта.
set_time_limit(2);
echo 'Задержка 3 секунды'."<br>";
echo time_sleep_until(time()+3);
echo 'Последующее выполнение кода';
Здесь мы сделали задержку в 3 секунды. Однако в самом начале была вызвана функция set_time_limit() с аргументом 2 секунды. Именно с помощью данной функции мы можем ограничивать время выполнения скрипта на заданное время. Так как время выполнения скрипта вместе с задержкой у нас 3 секунды, а ограничение выполнения стоит на 2 секунды, произойдет ошибка.
Если изменить ограничение, к примеру на 4 секунды.
set_time_limit(4);
Здесь ошибки уже не будет.
С помощью функции set_time_limit() мы можем выставить неограниченное время выполнения скрипта.
set_time_limit(0);
Достаточно в данной функции указать значение 0. Однако перед этим необходимо в файле конфигурации php.ini отключить безопасный режим.
Вот так мы можем реализовывать временные задержки при выполнении php сценариев.
На этом данная статья подошла к концу. Не забывайте оставлять вопросы в комментариях или группе
вк.А на этом у меня все. Желаю вам успехов и удачи! Пока.