php

Bruk av usleep () -funksjonen i PHP

Bruk av usleep () -funksjonen 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 makten n. Skape kraften.php filen med følgende skript. Det vil sjekke feltverdiene til HTML-skjemaet er angitt eller ikke. Hvis verdiene er riktig sendt, vil x til kraften n bli beregnet, og skriptet 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 skriptet 43 og 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.

Hvordan vise FPS-teller i Linux-spill
Linux-spill fikk et stort press da Valve kunngjorde Linux-støtte for Steam-klient og spillene deres i 2012. Siden den gang har mange AAA- og indiespil...
Hvordan laste ned og spille Sid Meier's Civilization VI på Linux
Introduksjon til spillet Civilization 6 er et moderne syn på det klassiske konseptet som ble introdusert i serien av Age of Empires-spillene. Ideen va...
Hvordan installere og spille Doom på Linux
Introduksjon til Doom Doom-serien stammer fra 90-tallet etter utgivelsen av den originale Doom. Det ble en øyeblikkelig suksess, og fra den tiden og u...