Użycie funkcji USLEP w PHP

Użycie funkcji USLEP w PHP

Dwie funkcje są używane głównie w PHP w celu opóźnienia wykonywania skryptu na jakiś czas. To są usleep () i sleep (). Funkcja usleep () służy do opóźnienia wykonywania skryptu dla określonych mikrosekund. Ta funkcja może rzucić wyjątek, jeśli podano wartość mikrosekund ujemnych. Ta funkcja zużywa cykl procesora również, gdy jest wywoływana. Jak ta funkcja można użyć w PHP, pokazano w tym samouczku.

Składnia:

Składnia tej funkcji podano poniżej.

void usleep (int microsekunds)

Ta funkcja przyjmuje wartość mikrosekund jako argumenty funkcji używane do opóźnienia skryptu, w którym używana jest ta funkcja. Ta funkcja nic nie zwraca. Różne zastosowania tej funkcji pokazano poniżej przy użyciu różnych przykładów.

Przykład-1: użycie USLEP () do oczekiwania 5 sekund

Poniższy przykład pokazuje, w jaki sposób usleep () można użyć do ustawienia opóźnienia na 5 sekund w skrypcie. Utwórz plik PHP z następującym skryptem. Funkcja data () jest używana w skrypcie do odczytania bieżącej daty i godziny. funkcja usleep () jest wywoływana po wykonaniu funkcji pierwszej daty (). 5 sekund wynosi 5000000 mikrosekund. Tak więc 5000000 jest używany jako wartość argumentu USLEP () do ustawienia opóźnienia na 5 sekund. Następnie funkcja dat () jest wywoływana ponownie.

// Wyświetl bieżącą datę i godzinę
Echo data ('d f, y h: i: s a'). "
";
// Wydrukuj wiadomość
Echo „Oczekiwanie przez 5 sekund…
";
// Opóźnij wykonanie skryptu na 5 sekund
Usleep (5000000);
// Wyświetl bieżącą datę i godzinę
Echo data ('d f, y h: i: s a'). "
";
?>

Wyjście

Skrypt będzie czekać 5 sekund po wykonaniu go z serwera. Dane wyjściowe pokazuje, że skrypt rozpoczął się wykonanie o 05:32:05, a skrypt zakończony o 05:32:11. Tak więc minęło 5 sekund przed wyświetleniem wyjścia.

Przykład-2: użycie USLEP (), aby czekać na przypadkowe czasy

Poniższy przykład pokazuje, w jaki sposób funkcje usleep () i rand () można użyć do ustawienia opóźnienia dla losowej liczby razy. Utwórz plik PHP z następującym skryptem. Funkcja pierwszej daty () skryptu odczytuje bieżący czas systemu. Następnie funkcja rand () służy do generowania liczby między 1000000 a 4000000, a wygenerowana wartość losowa będzie używana jako wartość argumentu funkcji USLEEP (). Wygenerowana liczba losowa zostanie podzielona przez 1000000 i wykorzystywana w funkcji Round (), aby uzyskać czas opóźnienia w sekundach. Funkcja drugiej daty () służy do odczytu wartości czasowej po wykonaniu funkcji USLEEP ().

// Wyświetl bieżący czas
Echo data („H: i: s a”). "
";
// Ustaw wartość losowych mikrosekund
$ opóźnienie = rand (1000000,4000000);
// Opóźnij wykonywanie skryptu na zdefiniowane sekundy
Usleep ($ opóźnienie);
// Przekształć mikrosekund na sekundy
$ sekund = runda ($ opóźnienie/1000000);
// Wydrukuj wiadomość
Echo „Oczekiwanie na $ sekundy sekundy…
";
// Wyświetl bieżący czas
Echo data („H: i: s a”). "
";
?>

Wyjście

Zgodnie z następującym wyjściem skrypt czekał 4 sekundy po wykonaniu na serwerze. Dane wyjściowe pokazuje, że skrypt rozpoczął się wykonanie o 05:35:40, a skrypt został zakończony o 05:35:44. Tak więc skrypt został opóźniony o 4 sekundy.

Przykład-3: Powtórz skrypt po 2 sekundach

Poniższy przykład pokazuje, w jaki sposób ten sam skrypt można powtórzyć po 2 sekundach opóźnienia w oparciu o wybór użytkownika. Utwórz plik HTML o nazwie Formularz 1.html z następującym skryptem, aby przyjąć wartość X I N.

Formularz 1.html




Użycie funkcji USLEP ()



Wprowadź wartość x:

Wprowadź wartość N:




Dane formularza zostaną przesłane do nazwanego pliku PHP moc.php Aby obliczyć x do mocy n. Utwórz moc.php Plik z następującym skryptem. Sprawdzi, że wartości pola formularza HTML są ustawione lub nie. Jeśli wartości są prawidłowo przesłane, to x do mocy N zostanie obliczone, a skrypt będzie czekać na 2 sekundy. Pudełko alertów pojawi się po 2 sekundach. Pojawi się kolejna formularz z pole wyboru, aby poprosić użytkownika o powtórzenie tego samego zadania po kliknięciu przycisku OK w polu alertu.

moc.php

// Sprawdź wartości x i n są ustawione lub nie
if (isset ($ _ Post ['x']) && isset ($ _ Post ['n'])))

$ flag = false;
$ x = $ _post ['x'];
$ n = $ _post ['n'];
// Oblicz x do mocy n
$ wynik = pow ($ x, $ n);
// Wydrukuj wynik
echo "$ x do mocy $ n to wynik $
";
// Wyświetl formularz, aby powtórzyć zadanie ponownie lub nie
Echo '
Wykonaj zadanie ponownie
';;
// Poczekaj na dwie sekundy
Usleep (2000000);
// Wyświetl alert
echo „alert („ czekał przez 2 sekundy… ”)”;

w przeciwnym razie

Jeśli(!isset ($ _ Post ['ok']))
obejmować („Form1.html ');
w przeciwnym razie

// Powtórz zadanie ponownie, jeśli pole wyboru jest włączone
if (isset ($ _ post ['zadanie']))
if ($ _ Post ['zadanie'] == 'on')
obejmować („Form1.html ');
w przeciwnym razie
die („Skrypt został zakończony.");

w przeciwnym razie
die („Skrypt został zakończony.");


?>

Wyjście

Poniższy formularz pojawi się po uruchomieniu skryptu PHP z serwera. W wyjściu 4 jest ustawione dla wartości x, a 3 jest ustawione dla n.


Po przesłaniu formularza skrypt obliczyi poczekaj na 2 sekundy przed wyświetleniem pole alertu.

Pojawi się następujący formularz, aby wybrać opcję, aby ponownie wyświetlić poprzedni formularz, aby obliczyć moc innej wartości x i n Po naciśnięciu przycisku OK.


Jeśli użytkownik naciska OK przycisk bez wyboru pola wyboru skrypt zostanie zakończony, wyświetlając następującą wiadomość.

Wniosek

Gdy skrypt PHP wymaga opóźnienia dla określonego okresu do celów programowania, do wykonania zadania można użyć funkcji usleep (). Funkcja usleep () została wyjaśniona w tym samouczku za pomocą różnych przykładów, aby pomóc czytelnikom wiedzieć, jak wygenerować opóźnienie w skrypcie. Sleep () to kolejna wbudowana funkcja PHP do opracowania w skrypcie.