[PHP] Jak zatrzymać wykonywanie skryptu na określoną liczbę sekund?

0x01 graphic

Chcesz wstrzymać na chwilę wykonywanie skryptu.

0x01 graphic

Zwykle skrypty mają działać jak najszybciej i wręcz niechcianym zjawiskiem są różnego rodzaju opóźnienia. Jednak czasem wymagane jest wstrzymanie działania skryptu na kilka chwil, szczególnie jak przetwarzanie danych z jednego skryptu ma znaczenie w kolejnych, a przy tym ważna jest kolejność przetwarzania danych w skryptach.

Aby nie doszło do sytuacji, gdzie dane nie zostały jeszcze obliczone, a już pobierane są przez inny skrypt, można działanie skryptu łatwo wstrzymać na określoną liczbę sekund. Zobacz jak:

<?

$teraz = time();

$opoznienie = 5; // w sekundach

while (time()<$teraz+$opoznienie) { }

?>

Posłuży nam do tego zwykła pętla while(). Pobieramy aktualny znacznik czasu w sekundach (np. wynosi on w tej sekundzie, gdy piszę poradę 1065529820) i określamy opóźnienie w postaci kilku sekund.

Pętla wykonuje się do chwili aż aktualny znacznik czasu będzie równy temu wcześniejszemu, powiększonemu o określoną liczbę sekund. W ten sposób pusta pętla będzie wykonywać się podaną przez nas ilość sekund i dopiero po tym czasie przetwarzane będą kolejne linie skryptu.