php

Brug af usleep () funktion i PHP

Brug af usleep () funktion i PHP
To funktioner bruges hovedsageligt i PHP til at forsinke udførelsen af ​​scriptet i nogen tid. Disse er usleep () og sleep (). Usleep () -funktionen bruges til at forsinke udførelsen af ​​scriptet i bestemte mikrosekunder. Denne funktion kan give en undtagelse, hvis den negative mikrosekundværdi er angivet. Denne funktion forbruger CPU-cyklussen, også når den kaldes. Hvordan denne funktion kan bruges i PHP har vist i denne vejledning.

Syntaks:

Syntaksen for denne funktion er angivet nedenfor.

ugyldigt usleep (int mikrosekunder)

Denne funktion tager mikrosekundværdien som funktionsargumenter, der bruges til at forsinke scriptet, hvor denne funktion bruges. Denne funktion returnerer intet. De forskellige anvendelser af denne funktion vises nedenfor ved hjælp af forskellige eksempler.

Eksempel 1: Brug af usleep () til at vente 5 sekunder

Følgende eksempel viser, hvordan usleep () kan bruges til at indstille forsinkelsen til 5 sekunder i scriptet. Opret en PHP-fil med følgende script. dato () funktion bruges i scriptet til at læse den aktuelle dato og tid. usleep () -funktion kaldes efter udførelse af den første dato () -funktion. 5 sekunder er lig med 5000000 mikrosekunder. Så 5000000 bruges som værdien usleep () til at indstille forsinkelsen i 5 sekunder. Derefter kaldes funktionen date () igen.

// Vis den aktuelle dato og tid
ekko dato ('d F, Y h: i: s a'). "
";
// Udskriv meddelelsen
ekko "Venter i 5 sekunder ..
";
// Forsink udførelsen af ​​scriptet i 5 sekunder
sove (5000000);
// Vis den aktuelle dato og tid
ekko dato ('d F, Y h: i: s a'). "
";
?>

Produktion:


Scriptet venter i 5 sekunder, efter det er udført fra serveren. Outputtet viser, at scriptet startede udførelsen kl. 05:32:05, og scriptet blev afsluttet kl. 05:32:11. Så der er gået 5 sekunder, før output vises.

Eksempel 2: Brug af usleep () til at vente på tilfældige tider

Følgende eksempel viser, hvordan usleep () og rand () -funktioner kan bruges til at indstille forsinkelsen til det tilfældige antal gange. Opret en PHP-fil med følgende script. Den første dato () -funktion af scriptet læser den aktuelle systemtid. Derefter bruges funktionen rand () til at generere et tal mellem 1000000 og 4000000, og den genererede tilfældige værdi vil blive brugt som argumentværdien for usleep () -funktionen. Det genererede tilfældige tal divideres med 1000000 og bruges i funktionen round () for at få forsinkelsestiden i sekunder. Den anden dato () funktion bruges til at læse tidsværdien efter udførelse af usleep () funktionen.

// Vis det aktuelle klokkeslæt
ekko dato ('h: i: s a'). "
";
// Indstil værdien for tilfældige mikrosekunder
$ forsinkelse = rand (1000000,4000000);
// Forsink udførelsen af ​​scriptet i definerede sekunder
usleep ($ forsinkelse);
// Konverter mikrosekunder til sekunder
$ sekunder = runde ($ forsinkelse / 1000000);
// Udskriv meddelelsen
ekko "Venter på $ sekunder sekunder ..
";
// Vis det aktuelle klokkeslæt
ekko dato ('h: i: s a'). "
";
?>

Produktion:

I henhold til følgende output ventede scriptet i 4 sekunder efter udførelse på serveren. Outputtet viser, at scriptet startede udførelsen kl 05:35:40, og scriptet afsluttedes kl 05:35:44. Så scriptet er blevet forsinket i 4 sekunder.

Eksempel 3: Gentag scriptet efter 2 sekunder

Følgende eksempel viser, hvordan det samme script kan gentages efter 2 sekunders forsinkelse baseret på brugerens valg. Opret en HTML-fil med navnet form1.html med følgende script til at tage værdien af x og n.

form1.html


Brug af usleep () -funktionen
Indtast værdien af ​​x:

Indtast værdien af ​​n:

Formularens data indsendes i den navngivne PHP-fil strøm.php at beregne x til magten n. skab magten.php fil med følgende script. Det kontrollerer feltværdierne for HTML-formularen er indstillet eller ej. Hvis værdierne er korrekt indsendt, beregnes x til magt n, og scriptet venter i 2 sekunder. En advarselsboks vises efter 2 sekunder. En anden form med et afkrydsningsfelt vises for at bede brugeren om at gentage den samme opgave efter at have klikket på OK-knappen i alarmfeltet.

strøm.php

// Kontroller, at værdierne for x og n er indstillet eller ej
hvis (isset ($ _ POST ['x']) && isset ($ _ POST ['n']))

$ flag = falsk;
$ x = $ _POST ['x'];
$ n = $ _POST ['n'];
// Beregn x til magt n
$ resultat = pow ($ x, $ n);
// Udskriv resultatet
ekko "$ x til magten $ n er $ resultat
";
// Vis formularen for at gentage opgaven igen eller ej
ekko '
Udfør opgaven igen
';
// Vent i to sekunder
sove (2000000);
// Vis advarslen
ekko "alarm ('Ventede i 2 sekunder ...')";

andet

hvis(!isset ($ _ POST ['ok']))
inkluderer ('form1.html ');
andet

// Gentag opgaven igen, hvis afkrydsningsfeltet er aktiveret
hvis (isset ($ _ POST ['opgave']))
hvis ($ _ POST ['task'] == 'on')
inkluderer ('form1.html ');
andet
die ("Scriptet er afsluttet.");

andet
die ("Scriptet er afsluttet.");


?>

Produktion:

Følgende formular vises efter kørsel af PHP-scriptet fra serveren. I output er 4 indstillet til værdien af ​​x, og 3 er indstillet til n.

Efter indsendelse af formularen beregnes scriptet 43 og vent i 2 sekunder, før du får vist advarselsboksen.


Følgende formular vises for at vælge muligheden for at få vist den forrige formular igen for at beregne effekten af ​​en anden værdi på x og n efter at have trykket på OK-knappen.

Hvis brugeren trykker på Okay uden at markere afkrydsningsfeltet, afsluttes scriptet ved at vise følgende meddelelse.

Konklusion:

Når PHP-scriptet kræver forsinkelse i en bestemt periode til programmeringsformål, kan usleep () -funktionen bruges til at udføre opgaven. Usleep () -funktionen er blevet forklaret i denne vejledning ved hjælp af forskellige eksempler for at hjælpe læserne med at vide, hvordan man genererer en forsinkelse i scriptet. Sleep () er en anden indbygget funktion af PHP, der skal udvikles i scriptet.

Sådan udvikler du et spil på Linux
For et årti siden ville ikke mange Linux-brugere forudsige, at deres foretrukne operativsystem en dag ville være en populær spilplatform til kommercie...
Open Source-porte med kommercielle spilmotorer
Gratis, open source og cross-platform spilmotorgendringer kan bruges til at spille gamle såvel som nogle af de temmelig nylige spiltitler. Denne artik...
Bedste kommandoliniespil til Linux
Kommandolinjen er ikke kun din største allierede, når du bruger Linux, den kan også være kilde til underholdning, fordi du kan bruge den til at spille...