php

Bruk av usleep () -funksjon i PHP

Bruk av usleep () -funksjon i PHP

To funksjoner brukes hovedsakelig i PHP for å forsinke utførelsen av skriptet i noen tid. Disse er usleep () og sleep (). Usleep () -funksjonen brukes til å forsinke utførelsen av skriptet for spesifikke mikrosekunder. Denne funksjonen kan gi unntak hvis den negative mikrosekundverdien er gitt. Denne funksjonen bruker CPU-syklusen også når den blir ringt. Hvordan denne funksjonen kan brukes i PHP har vist i denne veiledningen.

Syntaks:

Syntaksen til denne funksjonen er gitt nedenfor.

ugyldig usleep (int mikrosekunder)

Denne funksjonen tar mikrosekundeverdien som funksjonsargumenter som brukes til å forsinke skriptet der denne funksjonen brukes. Denne funksjonen returnerer ingenting. De forskjellige bruken av denne funksjonen er vist nedenfor ved å bruke forskjellige eksempler.

Eksempel 1: Bruk av usleep () for å vente i 5 sekunder

Følgende eksempel viser hvordan usleep () kan brukes til å stille forsinkelsen i 5 sekunder i skriptet. Opprett en PHP-fil med følgende skript. dato () -funksjonen brukes i skriptet for å lese gjeldende dato og klokkeslett. usleep () -funksjonen kalles etter å ha utført den første datoen () -funksjonen. 5 sekunder er lik 5000000 mikrosekunder. Så brukes 5000000 som argumentverdien usleep () for å sette forsinkelsen i 5 sekunder. Deretter kalles funksjonen dato () igjen.

// Vis gjeldende dato og klokkeslett
ekkodato ('d F, Y h: i: s a'). "
";
// Skriv ut meldingen
ekko "Venter i 5 sekunder ..
";
// Forsink utførelsen av skriptet i 5 sekunder
sove (5000000);
 
// Vis gjeldende dato og klokkeslett
ekkodato ('d F, Y h: i: s a'). "
";
?>

Produksjon

Skriptet venter i 5 sekunder etter at det er kjørt fra serveren. Utgangen viser at skriptet startet kjøringen kl 05:32:05, og skriptet ble avsluttet kl 05:32:11. Så det har gått 5 sekunder før utgangen vises.

Eksempel 2: Bruk av usleep () for å vente på tilfeldige tider

Følgende eksempel viser hvordan usleep () og rand () -funksjonene kan brukes til å stille forsinkelsen for det tilfeldige antall ganger. Opprett en PHP-fil med følgende skript. Den første datoen () -funksjonen til skriptet vil lese gjeldende systemtid. Deretter brukes rand () -funksjonen til å generere et tall mellom 1000000 og 4000000, og den genererte tilfeldige verdien vil bli brukt som argumentverdien for usleep () -funksjonen. Det genererte tilfeldige tallet blir delt på 1000000 og brukes i runde () -funksjonen for å få forsinkelsestiden i sekunder. Den andre date () -funksjonen brukes til å lese tidsverdien etter at usleep () -funksjonen er utført.

// Vis gjeldende tid
ekkodato ('h: i: s a'). "
";
// Still inn den tilfeldige mikrosekundverdien
$ forsinkelse = rand (1000000,4000000);
// Forsink utførelsen av skriptet i definerte sekunder
usleep ($ forsinkelse);
// Konverter mikrosekundene til sekunder
$ sekunder = runde ($ forsinkelse / 1000000);
// Skriv ut meldingen
ekko "Venter i $ sekunder sekunder ..
";
// Vis gjeldende tid
ekkodato ('h: i: s a'). "
";
?>

Produksjon

I følge følgende utdata ventet skriptet i 4 sekunder etter kjøring i serveren. Utgangen viser at skriptet startet kjøringen kl 05:35:40, og skriptet ble avsluttet kl 05:35:44. Så manuset er forsinket i 4 sekunder.

Eksempel 3: Gjenta skriptet etter 2 sekunder

Følgende eksempel viser hvordan det samme skriptet kan gjentas etter 2 sekunders forsinkelse basert på brukerens valg. Opprett en HTML-fil med navnet form1.html med følgende skript for å ta verdien av x og n.

form1.html




Bruk av usleep () -funksjonen



Skriv inn verdien av x:

Skriv inn verdien av n:




Skjemaets data vil bli sendt inn i PHP-filen som heter makt.php for å beregne x til kraften n. Opprett makt.php filen med følgende skript. Det vil sjekke feltverdiene til HTML-skjemaet er angitt eller ikke. Hvis verdiene er riktig sendt, så x til kraften n vil bli beregnet, og manuset vil vente i 2 sekunder. En varselboks vises etter 2 sekunder. Et annet skjema med en avkrysningsrute vises for å be brukeren gjenta den samme oppgaven etter å ha klikket på OK-knappen i varselboksen.

makt.php

// Kontroller at verdiene til x og n er angitt eller ikke
hvis (isset ($ _ POST ['x']) && isset ($ _ POST ['n']))

$ flagg = falsk;
$ x = $ _POST ['x'];
$ n = $ _POST ['n'];
// Beregn x til kraften n
$ resultat = pow ($ x, $ n);
// Skriv ut resultatet
ekko "$ x til makten $ n er $ resultat
";
// Vis skjemaet for å gjenta oppgaven igjen eller ikke
ekko '
Gjør oppgaven igjen
';
// Vent i to sekunder
sove (2000000);
// Vis varselet
ekko "varsel ('Ventet i 2 sekunder ...')";

ellers

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

// Gjenta oppgaven igjen hvis avkrysningsruten er på
hvis (isset ($ _ POST ['oppgave']))
if ($ _ POST ['task'] == 'on')
inkluderer ('form1.html ');
ellers
die ("Skriptet er avsluttet.");

ellers
die ("Skriptet er avsluttet.");


?>

Produksjon

Følgende skjema vises etter at du har kjørt PHP-skriptet fra serveren. I utgangen er 4 satt til verdien av x, og 3 er satt til n.


Etter at skjemaet er sendt inn, beregnes skriptetog vent i 2 sekunder før du viser varselboksen.

Følgende skjema vises for å velge alternativet for å vise forrige skjema igjen for å beregne effekten av en annen verdi av x og n etter å ha trykket på OK-knappen.


Hvis brukeren trykker på OK uten å velge avkrysningsruten, vil skriptet avsluttes ved å vise følgende melding.

Konklusjon

Når PHP-skriptet krever forsinkelse for en bestemt periode for programmeringsformål, kan usleep () -funksjonen brukes til å utføre oppgaven. Usleep () -funksjonen er forklart i denne opplæringen ved å bruke forskjellige eksempler for å hjelpe leserne å vite hvordan de kan generere en forsinkelse i skriptet. Sleep () er en annen innebygd funksjon av PHP som skal utvikles i skriptet.

Mus Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Musepekeren og markøren i Windows 10 er veldig viktige aspekter ved operativsystemet. Dette kan sies også for andre operativsystemer, så i sannhet er ...
Gratis og åpen kildekode-spillmotorer for utvikling av Linux-spill
Denne artikkelen vil dekke en liste over gratis og open source-spillmotorer som kan brukes til å utvikle 2D- og 3D-spill på Linux. Det er mange slike ...
Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider er det tolvte tilskuddet til Tomb Raider-serien - et action-eventyrspill-franchise opprettet av Eidos Montreal. Spillet ble ...