Bruk av uleepfunksjon i PHP

Bruk av uleepfunksjon i PHP

To funksjoner brukes hovedsakelig i PHP for å utsette utførelsen av skriptet i noen tid. Disse er uleep () og søvn (). USleep () -funksjonen brukes til å utsette utførelsen av skriptet for spesifikke mikrosekunder. Denne funksjonen kan kaste et unntak hvis den negative mikrosekundverdien er gitt. Denne funksjonen bruker CPU -syklusen også når den er kalt. Hvordan denne funksjonen kan brukes i PHP har vist i denne opplæringen.

Syntaks:

Syntaksen til denne funksjonen er gitt nedenfor.

ugyldig uleep (int mikrosekunder)

Denne funksjonen tar mikrosekundverdien som funksjonsargumenter som brukes til å utsette skriptet der denne funksjonen brukes. Denne funksjonen returnerer ingenting. De forskjellige bruksområdene for denne funksjonen vises nedenfor ved å bruke forskjellige eksempler.

Eksempel-1: Bruk av uleep () til å vente 5 sekunder

Følgende eksempel viser hvordan uleep () kan brukes til å stille forsinkelsen i 5 sekunder i skriptet. Opprett en PHP -fil med følgende skript. Dato () Funksjon brukes i skriptet for å lese gjeldende dato og klokkeslett. Usleep () -funksjonen kalles etter utførelse av den første date () -funksjonen. 5 sekunder er lik 5000000 mikrosekunder. Så 5000000 brukes som USLLE () argumentverdi for å sette forsinkelsen i 5 sekunder. Deretter kalles datoen () -funksjonen igjen.

// Vis gjeldende dato og klokkeslett
ekko dato ('d f, y h: i: s a'). ""
";
// Skriv ut meldingen
ekko "Venter i 5 sekunder ..
";
// forsinke utførelsen av skriptet i 5 sekunder
usleep (5000000);
// Vis gjeldende dato og klokkeslett
ekko dato ('d f, y h: i: s a'). ""
";
?>

Produksjon

Skriptet vil vente i 5 sekunder etter å ha utført det fra serveren. Utgangen viser at skriptet startet utførelsen klokka 05:32:05, og skriptet ble avsluttet kl. 05:32:11. Så 5 sekunder har gått før du viser utdataene.

Eksempel-2: Bruk av uleep () for å vente i tilfeldige tider

Følgende eksempel viser hvordan uleep () og rand () -funksjoner kan brukes til å angi forsinkelsen for tilfeldig antall ganger. Opprett en PHP -fil med følgende skript. Første date () -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 argumentverdi for USLLE () -funksjonen. Det genererte tilfeldige tallet vil bli delt på 1000000 og brukt i runden () -funksjonen for å få forsinkelsestiden på sekunder. Den andre datoen () -funksjonen brukes til å lese tidsverdien etter utførelse av USLLE () -funksjonen.

// Vis gjeldende tid
ekko dato ('h: i: s a'). ""
";
// Angi 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 på $ sekunder sekunder ..
";
// Vis gjeldende tid
ekko dato ('h: i: s a'). ""
";
?>

Produksjon

I henhold til følgende utdata ventet skriptet i 4 sekunder etter å ha utført på serveren. Utgangen viser at skriptet startet utførelsen klokka 05:35:40, og skriptet ble avsluttet kl. 05:35:44. Så skriptet har blitt 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. Lag en HTML -fil som heter Form1.html med følgende skript for å ta verdien av x og n.

Form1.html




Bruk av uleep () -funksjon



Skriv inn verdien av x:

Angi verdien av n:




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

makt.PHP

// sjekk verdiene til x og n er satt eller ikke
if (isset ($ _ post ['x']) && isset ($ _ post ['n']))

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

ellers

hvis(!ISSET ($ _ POST ['OK']))
inkluderer ('Form1.html ');
ellers

// gjenta oppgaven igjen hvis avkrysningsruten er på
if (isset ($ _ post ['oppgave']))
if ($ _ post ['oppgave'] == 'på')
inkluderer ('Form1.html ');
ellers
die ("skriptet avsluttes.");

ellers
die ("skriptet avsluttes.");


?>

Produksjon

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


Etter å ha sendt skjemaet, beregner skriptetog vent i 2 sekunder før du viser varslingsboksen.

Følgende skjema ser ut til å velge alternativet for å vise det forrige skjemaet igjen for å beregne kraften til en annen verdi av x og n Etter å ha trykket på OK -knappen.


Hvis brukeren trykker på Ok Knapp uten å velge avkrysningsruten, blir skriptet avsluttet ved å vise følgende melding.

Konklusjon

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