php

Uporaba funkcije usleep () v PHP

Uporaba funkcije usleep () v PHP
V PHP se v glavnem uporabljata dve funkciji, ki za nekaj časa odložijo izvajanje skripta. To sta usleep () in sleep (). Funkcija usleep () se uporablja za zakasnitev izvajanja skripta za določene mikrosekunde. Ta funkcija lahko povzroči izjemo, če je navedena negativna vrednost mikrosekund. Ta funkcija porabi cikel procesorja tudi, ko je poklican. Kako je to funkcijo mogoče uporabiti v PHP, je prikazano v tej vadnici.

Sintaksa:

Sintaksa te funkcije je podana spodaj.

prazno uspavanje (int mikrosekunde)

Ta funkcija vzame vrednost mikrosekund kot argumentov funkcije, ki se uporabljajo za zakasnitev skripta, kjer se ta funkcija uporablja. Ta funkcija ne vrne ničesar. Različne uporabe te funkcije so prikazane spodaj z različnimi primeri.

Primer-1: Uporabite usleep (), da počakate 5 sekund

Naslednji primer prikazuje, kako lahko s pomočjo usleep () nastavite zakasnitev za 5 sekund v skriptu. Ustvarite datoteko PHP z naslednjim skriptom. funkcija date () se v skriptu uporablja za branje trenutnega datuma in ure. funkcija usleep () se pokliče po izvedbi prve funkcije date (). 5 sekund je enako 5000000 mikrosekund. Torej, 5000000 se uporablja kot vrednost argumenta usleep () za nastavitev zakasnitve za 5 sekund. Nato se znova prikliče funkcija date ().

// Prikaz trenutnega datuma in ure
datum odmeva ('d F, Y h: i: s a'). "
";
// Natisni sporočilo
echo "Čakanje 5 sekund ..
";
// Zamujamo izvajanje skripta za 5 sekund
zaspan (5000000);
// Prikaz trenutnega datuma in ure
datum odmeva ('d F, Y h: i: s a'). "
";
?>

Izhod:


Skript bo po zagonu s strežnika čakal 5 sekund. Rezultat kaže, da se je skript začel izvajati ob 05:32:05, skript pa se je končal ob 05:32:11. Torej, pred prikazom izhoda je minilo 5 sekund.

Primer-2: Uporabite usleep () za čakanje na naključne čase

Naslednji primer prikazuje, kako lahko s pomočjo funkcij usleep () in rand () nastavimo zakasnitev za naključno število krat. Ustvarite datoteko PHP z naslednjim skriptom. Funkcija first date () v skriptu bo prebrala trenutni sistemski čas. Nato se funkcija rand () uporablja za generiranje števila med 1000000 in 4000000, ustvarjena naključna vrednost pa bo uporabljena kot vrednost argumenta funkcije usleep (). Ustvarjeno naključno število bo deljeno s 1000000 in uporabljeno v funkciji round (), da dobimo čas zakasnitve v sekundah. Druga funkcija date () se uporablja za branje časovne vrednosti po izvedbi funkcije usleep ().

// Prikaži trenutni čas
datum odmeva ('h: i: s a'). "
";
// Nastavimo vrednost naključnih mikrosekund
$ zamuda = rand (1000000,4000000);
// Zamujamo izvajanje skripta za določene sekunde
uspavanje ($ zamuda);
// Pretvorimo mikrosekunde v sekunde
$ sekund = krog ($ zamik / 1000000);
// Natisni sporočilo
echo "Čakanje na $ sekund sekund ..
";
// Prikaži trenutni čas
datum odmeva ('h: i: s a'). "
";
?>

Izhod:

Glede na naslednji izhod je skript po zagonu v strežniku čakal 4 sekunde. Rezultat kaže, da se je skript začel izvajati ob 05:35:40, skript pa se je končal ob 05:35:44. Torej, skript je zamujal za 4 sekunde.

Primer-3: Ponovite skript po 2 sekundah

Naslednji primer prikazuje, kako je mogoče isti skript ponoviti po 2 sekundah zakasnitve na podlagi izbire uporabnika. Ustvarite datoteko HTML z imenom obrazec1.html z naslednjim skriptom, da prevzame vrednost x in n.

obrazec1.html


Uporaba funkcije usleep ()
Vnesite vrednost x:

Vnesite vrednost n:

Podatki obrazca bodo poslani v poimenovano datoteko PHP moč.php za izračun x do moči n. Ustvari moč.php datoteko z naslednjim skriptom. Preveril bo, ali so vrednosti polja obrazca HTML nastavljene ali ne. Če so vrednosti pravilno oddane, se izračuna x do stopnje n, skript pa počaka 2 sekundi. Po 2 sekundah se prikaže opozorilno polje. Pojavil se bo drug obrazec s potrditvenim poljem, v katerem bo uporabnik pozval k ponovitvi iste naloge po kliku gumba V redu na opozorilnem polju.

moč.php

// Preverite, ali sta vrednosti x in n nastavljeni ali ne
if (isset ($ _ POST ['x']) && isset ($ _ POST ['n']))

$ zastava = napačno;
$ x = $ _POST ['x'];
$ n = $ _POST ['n'];
// izračunamo x na stopnjo n
$ rezultat = pow ($ x, $ n);
// Natisni rezultat
echo "$ x v moč $ n je $ rezultat
";
// Prikažite obrazec za ponovitev naloge ali ne
odmev
Nalogo opravite znova
';
// Počakajte dve sekundi
zaspan (2000000);
// Prikaži opozorilo
echo "opozorilo ('Čakano 2 sekundi ...')";

drugače

če (!isset ($ _ POST ['ok']))
vključi ('obrazec1.html ');
drugače

// Če je potrditveno polje vklopljeno, znova ponovite nalogo
if (isset ($ _ POST ['task'])))
če ($ _ POST ['task'] == 'on')
vključi ('obrazec1.html ');
drugače
die ("Skript je zaključen.");

drugače
die ("Skript je zaključen.");


?>

Izhod:

Naslednji obrazec se prikaže po zagonu skripta PHP s strežnika. V izhodu je 4 nastavljena na vrednost x, 3 pa na n.

Po oddaji obrazca bo skript izračunal 43 in počakajte 2 sekundi, preden se prikaže opozorilno polje.


Naslednji obrazec se prikaže za izbiro možnosti ponovnega prikaza prejšnjega obrazca za izračun moči druge vrednosti x in n po pritisku gumba OK.

Če uporabnik pritisne v redu brez izbire potrditvenega polja, bo skript zaključen s prikazom naslednjega sporočila.

Zaključek:

Ko skript PHP zahteva zakasnitev za določeno obdobje za namene programiranja, lahko funkcijo usleep () uporabimo za nalogo. Funkcija usleep () je bila v tej vadnici razložena z različnimi primeri, ki bralcem pomagajo vedeti, kako ustvariti zamudo v skriptu. Sleep () je še ena vgrajena funkcija PHP, ki se razvija v skriptu.

Brezplačni in odprtokodni igralni mehanizmi za razvoj iger Linux
Ta članek bo zajemal seznam brezplačnih in odprtokodnih igralnih mehanizmov, ki jih je mogoče uporabiti za razvoj 2D in 3D iger v Linuxu. Obstaja veli...
Vadnica Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider je dvanajsti dodatek k seriji Tomb Raider - franšiza akcijsko-pustolovskih iger, ki jo je ustvaril Eidos Montreal. Kritiki i...
Kako povečati FPS v Linuxu?
FPS pomeni Število sličic na sekundo. Naloga FPS je merjenje hitrosti sličic pri predvajanju video posnetkov ali igranih predstavah. Z enostavnimi bes...