php

Použitie funkcie usleep () v PHP

Použitie funkcie usleep () v PHP
Na oneskorenie vykonania skriptu o nejaký čas sa v PHP používajú hlavne dve funkcie. Toto sú usleep () a spánok (). Funkcia usleep () sa používa na oneskorenie vykonania skriptu o určité mikrosekundy. Táto funkcia môže vyvolať výnimku, ak je poskytnutá záporná hodnota mikrosekundy. Táto funkcia spotrebúva cyklus CPU, aj keď je volaná. V tejto príručke sa ukázalo, ako je možné túto funkciu použiť v PHP.

Syntax:

Syntax tejto funkcie je uvedená nižšie.

void usleep (int mikrosekundy)

Táto funkcia berie hodnotu mikrosekúnd ako argumenty funkcie používané na oneskorenie skriptu, kde sa táto funkcia používa. Táto funkcia nevracia nič. Rôzne použitia tejto funkcie sú zobrazené nižšie na rôznych príkladoch.

Príklad 1: Použitie usleep () na počkanie 5 sekúnd

Nasledujúci príklad ukazuje, ako možno pomocou usleep () nastaviť oneskorenie skriptu na 5 sekúnd. Vytvorte súbor PHP s nasledujúcim skriptom. funkcia date () sa v skripte používa na načítanie aktuálneho dátumu a času. funkcia usleep () sa volá po vykonaní prvej funkcie date (). 5 sekúnd sa rovná 50 000 000 mikrosekúnd. 5000000 sa teda používa ako hodnota argumentu usleep () na nastavenie oneskorenia na 5 sekúnd. Ďalej sa znova zavolá funkcia date ().

// Zobrazí aktuálny dátum a čas
echo date ('d F, Y h: i: s a'). „
";
// Vytlačiť správu
echo "Čaká sa na 5 sekúnd ..
";
// Odložte spustenie skriptu o 5 sekúnd
uspať (5000000);
// Zobrazí aktuálny dátum a čas
echo date ('d F, Y h: i: s a'). „
";
?>

Výkon:


Skript po spustení zo servera počká 5 sekúnd. Výstup ukazuje, že skript spustil vykonávanie o 05:32:05 a skript sa ukončil o 05:32:11. Pred zobrazením výstupu teda uplynulo 5 sekúnd.

Príklad 2: Použitie usleep () na čakanie na náhodné časy

Nasledujúci príklad ukazuje, ako možno pomocou funkcií usleep () a rand () nastaviť oneskorenie náhodného počtu opakovaní. Vytvorte súbor PHP s nasledujúcim skriptom. Prvá funkcia skriptu date () načíta aktuálny systémový čas. Ďalej sa funkcia rand () použije na vygenerovanie čísla medzi 10 000 000 a 4 400 000 a vygenerovaná náhodná hodnota sa použije ako hodnota argumentu funkcie usleep (). Vygenerované náhodné číslo sa vydelí 10 000 000 a použije vo funkcii round () na získanie času oneskorenia v sekundách. Druhá funkcia date () sa používa na načítanie hodnoty času po vykonaní funkcie usleep ().

// Zobrazí aktuálny čas
echo date ('h: i: s a'). „
";
// Nastaví hodnotu náhodných mikrosekúnd
$ oneskorenie = rand (10 000 000 400 000);
// Oneskorenie vykonania skriptu na definované sekundy
usleep ($ delay);
// Prevod mikrosekúnd na sekundy
$ sekundy = zaokrúhlené ($ oneskorenie / 10 000 000);
// Vytlačiť správu
echo „Čaká sa na $ s sekúnd…
";
// Zobrazí aktuálny čas
echo date ('h: i: s a'). „
";
?>

Výkon:

Podľa nasledujúceho výstupu čakal skript po vykonaní na serveri 4 sekundy. Výstup ukazuje, že skript spustil vykonávanie o 05:35:40 hodín a skript sa ukončil o 05:35:44 hodín. Skript sa teda oneskoril o 4 sekundy.

Príklad 3: Skript zopakujte po 2 sekundách

Nasledujúci príklad ukazuje, ako sa ten istý skript môže opakovať po 2 sekundách oneskorenia na základe výberu používateľa. Vytvorte súbor HTML s názvom formulár1.html s nasledujúcim skriptom na získanie hodnoty X a n.

formulár1.html


Použitie funkcie usleep ()
Zadajte hodnotu x:

Zadajte hodnotu n:

Údaje formulára sa odošlú do pomenovaného súboru PHP moc.php vypočítať X k moci n. Vytvoriť moc.php súbor s nasledujúcim skriptom. Skontroluje, či sú hodnoty polí formulára HTML nastavené alebo nie. Ak sú hodnoty správne zadané, potom sa vypočíta x k výkonu n a skript počká 2 sekundy. Po 2 sekundách sa zobrazí výstražné okno. Po kliknutí na tlačidlo OK výstražného poľa sa zobrazí ďalší formulár so začiarkavacím políčkom, v ktorom je používateľ vyzvaný na zopakovanie rovnakej úlohy.

moc.php

// Skontrolujte, či sú hodnoty x a n nastavené alebo nie
if (isset ($ _ POST ['x']) && isset ($ _ POST ['n']))

$ flag = false;
$ x = $ _POST ['x'];
$ n = $ _POST ['n'];
// Vypočítaj x na mocninu n
$ výsledok = pow ($ x, $ n);
// Výsledok sa vytlačí
echo "$ x na mocninu $ n je $ výsledok
";
// Zobrazte formulár, aby sa úloha opakovala alebo nie
ozvena
Urobte úlohu znova
";
// Počkajte dve sekundy
uspať (2000000);
// Zobraziť výstrahu
echo "alert ('Čakané na 2 sekundy ...')";

inak

ak (!isset ($ _ POST ['ok']))
zahrnúť ('form1.html ');
inak

// Ak je začiarkavacie políčko začiarknuté, úlohu opakujte
if (isset ($ _ POST ['task']))
if ($ _ POST ['task'] == 'on')
zahrnúť ('form1.html ');
inak
"(Skript je ukončený.");

inak
"(Skript je ukončený.");


?>

Výkon:

Po spustení skriptu PHP zo servera sa objaví nasledujúci formulár. Na výstupe je 4 nastavené na hodnotu x a 3 je nastavené na n.

Po odoslaní formulára sa vykoná výpočet skriptu 43 a pred zobrazením výstražného okna počkajte 2 sekundy.


Zobrazí sa nasledujúci formulár na výber možnosti opätovného zobrazenia predchádzajúceho formulára na výpočet výkonu inej hodnoty X a n po stlačení tlačidla OK.

Ak užívateľ stlačí Ok bez zaškrtnutia políčka sa skript ukončí zobrazením nasledujúcej správy.

Záver:

Keď skript PHP vyžaduje na určité obdobie oneskorenie pre konkrétne obdobie, potom je možné na vykonanie úlohy použiť funkciu usleep (). Funkcia usleep () bola v tomto návode vysvetlená pomocou rôznych príkladov, ktoré čitateľom pomôžu vedieť, ako vygenerovať oneskorenie skriptu. Sleep () je ďalšia zabudovaná funkcia PHP vyvíjaná v skripte.

Hry Výukový program Battle for Wesnoth
Výukový program Battle for Wesnoth
Battle for Wesnoth je jednou z najpopulárnejších open source strategických hier, ktoré si v súčasnosti môžete zahrať. Táto hra bola nielen vyvinutá ve...
Hry 0 A.D. Výukový program
0 A.D. Výukový program
Z mnohých strategických hier je tu 0 A.D. dokáže vyniknúť ako komplexný titul a veľmi hlboká, taktická hra napriek tomu, že je otvoreným zdrojom. Vývo...
Hry Výukový program pre Unity3D
Výukový program pre Unity3D
Úvod do Unity 3D Unity 3D je výkonný nástroj na vývoj hier. Je to multiplatforma, ktorá vám umožňuje vytvárať hry pre mobilné telefóny, web, počítače ...