php

Utilizarea funcției usleep () în PHP

Utilizarea funcției usleep () în PHP

Două funcții sunt utilizate în principal în PHP pentru a întârzia execuția scriptului pentru o perioadă de timp. Acestea sunt usleep () și sleep (). Funcția usleep () este utilizată pentru a întârzia execuția scriptului pentru microsecunde specifice. Această funcție poate genera o excepție dacă este furnizată valoarea negativă a microsecundelor. Această funcție consumă ciclul CPU și atunci când este apelată. Modul în care această funcție poate fi utilizată în PHP a arătat în acest tutorial.

Sintaxă:

Sintaxa acestei funcții este dată mai jos.

nul usleep (int microsecunde)

Această funcție ia valoarea microsecundelor ca argumente ale funcției utilizate pentru a întârzia scriptul în care este utilizată această funcție. Această funcție nu returnează nimic. Diferitele utilizări ale acestei funcții sunt prezentate mai jos folosind diverse exemple.

Exemplu-1: Utilizarea usleep () pentru a aștepta 5 secunde

Următorul exemplu arată cum se poate utiliza usleep () pentru a seta întârzierea pentru 5 secunde în script. Creați un fișier PHP cu următorul script. funcția date () este utilizată în script pentru a citi data și ora curente. funcția usleep () este apelată după executarea primei funcții date (). 5 secunde este egal cu 5000000 microsecunde. Deci, 5000000 este folosit ca valoarea argumentului usleep () pentru a seta întârzierea pentru 5 secunde. Apoi, funcția date () este apelată din nou.

// Afișează data și ora curente
data ecoului ('d F, Y h: i: s a'). "
";
// Imprimați mesajul
ecou „Se așteaptă 5 secunde ..
";
// Întârziți execuția scriptului timp de 5 secunde
usleep (5000000);
 
// Afișează data și ora curente
data ecoului ('d F, Y h: i: s a'). "
";
?>

Ieșire

Scriptul va aștepta 5 secunde după executarea acestuia de pe server. Rezultatul arată că scriptul a început execuția la 05:32:05 dimineața, iar scriptul s-a încheiat la 05:32:11 am. Deci, au trecut 5 secunde înainte de afișarea ieșirii.

Exemplul-2: Utilizarea usleep () pentru a aștepta timpuri aleatorii

Următorul exemplu arată cum funcțiile usleep () și rand () pot fi utilizate pentru a seta întârzierea pentru numărul aleatoriu de ori. Creați un fișier PHP cu următorul script. Prima funcție date () a scriptului va citi ora curentă a sistemului. Apoi, funcția rand () este utilizată pentru a genera un număr între 1000000 și 4000000, iar valoarea aleatorie generată va fi utilizată ca valoare argument a funcției usleep (). Numărul aleatoriu generat va fi împărțit la 1000000 și utilizat în funcția round () pentru a obține timpul de întârziere în secunde. A doua funcție date () este utilizată pentru a citi valoarea timpului după executarea funcției usleep ().

// Afișați ora curentă
data ecoului ('h: i: s a'). "
";
// Setați valoarea aleatorie a microsecundelor
$ întârziere = rand (1000000,4000000);
// Întârziți execuția scriptului pentru secunde definite
usleep ($ întârziere);
// Convertiți microsecundele în secunde
$ secunde = rundă ($ întârziere / 1000000);
// Imprimați mesajul
ecou „Se așteaptă $ secunde secunde ..
";
// Afișați ora curentă
data ecoului ('h: i: s a'). "
";
?>

Ieșire

Conform următoarei ieșiri, scriptul a așteptat 4 secunde după executarea în server. Rezultatul arată că scriptul a început execuția la 05:35:40 și că scriptul s-a încheiat la 05:35:44. Deci, scriptul a fost întârziat cu 4 secunde.

Exemplu-3: Repetați scriptul după 2 secunde

Următorul exemplu arată cum același script poate fi repetat după 2 secunde de întârziere pe baza selecției utilizatorului. Creați un fișier HTML numit forma1.html cu următorul script pentru a lua valoarea X și n.

forma1.html




Utilizarea funcției usleep ()



Introduceți valoarea lui x:

Introduceți valoarea lui n:




Datele formularului vor fi trimise în fișierul PHP numit putere.php pentru a calcula x la puterea n. Creați putere.php fișier cu următorul script. Se va verifica dacă valorile câmpului formularului HTML sunt setate sau nu. Dacă valorile sunt trimise corect, atunci x la putere n va fi calculat, iar scriptul va aștepta 2 secunde. După 2 secunde va apărea o casetă de alertă. Va apărea un alt formular cu o casetă de selectare pentru a cere utilizatorului să repete aceeași sarcină după ce faceți clic pe butonul OK din caseta de alertă.

putere.php

// Verificați dacă valorile lui x și n sunt setate sau nu
if (isset ($ _ POST ['x']) && isset ($ _ POST ['n']))

$ steag = fals;
$ x = $ _POST ['x'];
$ n = $ _POST ['n'];
// Calculați x la puterea n
$ result = pow ($ x, $ n);
// Imprimați rezultatul
ecou "$ x la puterea $ n este $ rezultat
";
// Afișați formularul pentru a repeta sau nu sarcina
ecou '
Faceți din nou sarcina
';
// Așteptați două secunde
usleep (2000000);
// Afișați alerta
echo "alert ('Așteptat 2 secunde ...')";

altceva

dacă(!isset ($ _ POST ['ok'])))
include ('formular1.html ');
altceva

// Repetați din nou sarcina dacă caseta de selectare este activată
if (isset ($ _ POST ['task'])))
if ($ _ POST ['task'] == 'on')
include ('formular1.html ');
altceva
die („Scriptul este terminat.");

altceva
die („Scriptul este terminat.");


?>

Ieșire

Următorul formular va apărea după executarea scriptului PHP de pe server. În ieșire, 4 este setat pentru valoarea lui x și 3 este setat pentru n.


După trimiterea formularului, scriptul va calculași așteptați 2 secunde înainte de a afișa caseta de alertă.

Următorul formular va apărea pentru a selecta opțiunea de a afișa din nou formularul anterior pentru a calcula puterea unei alte valori de x și n după apăsarea butonului OK.


Dacă utilizatorul apasă pe O.K fără a bifa caseta de selectare, scriptul va fi terminat prin afișarea următorului mesaj.

Concluzie

Când scriptul PHP necesită întârziere pentru o anumită perioadă în scopuri de programare, atunci funcția usleep () poate fi utilizată pentru a efectua sarcina. Funcția usleep () a fost explicată în acest tutorial utilizând diverse exemple pentru a ajuta cititorii să știe cum să genereze o întârziere în script. Sleep () este o altă funcție încorporată a PHP de dezvoltat în script.

Cele mai bune jocuri de linie de comandă pentru Linux
Linia de comandă nu este doar cel mai mare aliat al tău când folosești Linux - poate fi și sursa de divertisment, deoarece poți să o folosești pentru ...
Best Gamepad Mapping Apps for Linux
If you like to play games on Linux with a gamepad instead of a typical keyboard and mouse input system, there are some useful apps for you. Many PC ga...
Instrumente utile pentru jucătorii Linux
Dacă vă place să jucați jocuri pe Linux, este posibil să fi folosit aplicații și utilitare precum Wine, Lutris și OBS Studio pentru a îmbunătăți exper...