php

Funkcijos „usleep ()“ naudojimas PHP

Funkcijos „usleep ()“ naudojimas PHP

PHP daugiausia naudojamos dvi funkcijos, kurios tam tikrą laiką atideda scenarijaus vykdymą. Tai miega () ir miega (). Funkcija „usleep“ () naudojama atidėti scenarijaus vykdymą konkrečioms mikrosekundėms. Ši funkcija gali sukelti išimtį, jei pateikiama neigiama mikrosekundžių reikšmė. Ši funkcija taip pat sunaudoja procesoriaus ciklą, kai iškviečiama. Kaip šią funkciją galima naudoti PHP, parodyta šioje pamokoje.

Sintaksė:

Šios funkcijos sintaksė pateikiama žemiau.

negalite užmigti (mikrosekundėmis)

Ši funkcija ima mikrosekundžių vertę kaip funkcijos argumentus, naudojamus atidėti scenarijų, kuriame naudojama ši funkcija. Ši funkcija nieko negrąžina. Skirtingi šios funkcijos naudojimo būdai parodyti žemiau, naudojant įvairius pavyzdžius.

1 pavyzdys: „usleep“ () naudojimas 5 sekundėms palaukti

Šis pavyzdys rodo, kaip „usleep“ () gali būti naudojamas 5 sekundžių vėlavimui nustatyti scenarijuje. Sukurkite PHP failą naudodami šį scenarijų. date () funkcija scenarijuje naudojama dabartinei datai ir laikui nuskaityti. funkcija usleep () iškviečiama įvykdžius pirmosios datos () funkciją. 5 sekundės yra lygios 5000000 mikrosekundžių. Taigi 5000000 naudojamas kaip „usleep“ (argumento) reikšmė nustatant vėlavimą 5 sekundėms. Tada dar kartą iškviečiama data () funkcija.

// Rodyti dabartinę datą ir laiką
aido data ('d F, Y h: i: s a'). "
";
// Atspausdinkite pranešimą
aidas „Laukiu 5 sekundes…
";
// 5 sekundes atidėkite scenarijaus vykdymą
usleep (5000000);
 
// Rodyti dabartinę datą ir laiką
aido data ('d F, Y h: i: s a'). "
";
?>

Rezultatas

Vykdydamas jį iš serverio, scenarijus laukia 5 sekundes. Išvestis rodo, kad scenarijus vykdymą pradėjo 05:32:05, o scenarijus baigėsi 05:32:11. Taigi, prieš parodant išvestį, praėjo 5 sekundės.

2 pavyzdys: „usleep“ () naudojimas laukiant atsitiktinių kartų

Šis pavyzdys parodo, kaip „usleep“ () ir rand () funkcijos gali būti naudojamos nustatant atsitiktinio kartų skaičiaus vėlavimą. Sukurkite PHP failą naudodami šį scenarijų. Pirmoji scenarijaus datos () funkcija nuskaitys dabartinį sistemos laiką. Tada rand () funkcija naudojama skaičiui tarp 1000000 ir 4000000 generuoti, o sugeneruota atsitiktinė reikšmė bus naudojama kaip funkcijos „usleep ()“ argumento vertė. Sugeneruotas atsitiktinis skaičius bus padalytas iš 1000000 ir panaudotas round () funkcijoje, kad gautumėte uždelsimo laiką sekundėmis. Antroji datos () funkcija naudojama laiko vertei nuskaityti atlikus „usleep“) funkciją.

// Rodyti dabartinį laiką
aido data ('h: i: s a'). "
";
// Nustatykite atsitiktinių mikrosekundžių vertę
$ delsa = randas (1000000,4000000);
// Atidėkite scenarijaus vykdymą apibrėžtoms sekundėms
usleep ($ delsa);
// Konvertuokite mikrosekundes į sekundes
$ sekundės = apvalus ($ delay / 1000000);
// Atspausdinkite pranešimą
aidas "Laukiama $ sekundžių sekundžių ..
";
// Rodyti dabartinį laiką
aido data ('h: i: s a'). "
";
?>

Rezultatas

Pagal šį išvestį scenarijus laukė 4 sekundes po vykdymo serveryje. Išvestis rodo, kad scenarijus vykdymą pradėjo 05:35:40, o scenarijus baigėsi 05:35:44. Taigi scenarijus buvo atidėtas 4 sekundes.

3 pavyzdys: pakartokite scenarijų po 2 sekundžių

Šis pavyzdys rodo, kaip tą patį scenarijų galima pakartoti po 2 sekundžių vėlavimo, atsižvelgiant į vartotojo pasirinkimą. Sukurkite HTML failą pavadinimu forma1.HTML su tokiu scenarijumi, kad gautume reikšmę x ir n.

forma1.HTML




„Usleep“ () funkcijos naudojimas



Įveskite x reikšmę:

Įveskite n reikšmę:




Formos duomenys bus pateikti į pavadintą PHP failą galia.php apskaičiuoti x iki galios n. Sukurkite galia.php failas su tokiu scenarijumi. Jis patikrins, ar HTML formos lauko reikšmės yra nustatytos, ar ne. Jei reikšmės pateiktos teisingai, tada x į galią n bus apskaičiuota, o scenarijus laukia 2 sekundes. Po 2 sekundžių pasirodys įspėjimo langelis. Pasirodžius kitai formai su žymimuoju laukeliu, paprašys vartotojo pakartoti tą pačią užduotį spustelėjus įspėjimo langelio mygtuką Gerai.

galia.php

// Patikrinkite, ar x ir n reikšmės yra nustatytos, ar ne
jei (isset ($ _ POST ['x']) && isset ($ _ POST ['n']))

$ flag = klaidinga;
$ x = $ _POST ['x'];
$ n = $ _POST ['n'];
// Apskaičiuokite x iki galios n
$ rezultatas = pow ($ x, $ n);
// Atspausdinkite rezultatą
aidas "$ x iki galios $ n yra $ rezultatas
";
// Parodykite formą, jei norite pakartoti užduotį dar kartą
aidas '
Atlikite užduotį dar kartą
";
// Palaukite dvi sekundes
usleep (2000000);
// Rodyti įspėjimą
aidas "perspėjimas (" Laukiama 2 sekundes ... ")";

Kitas

jei (!rinkinys ($ _ POST ['ok']))
įtraukti ('forma1.html ');
Kitas

// Pakartokite užduotį dar kartą, jei žymimasis laukelis yra įjungtas
jei (isset ($ _ POST ['task']))
jei ($ _ POST ['task'] == 'on')
įtraukti ('forma1.html ');
Kitas
die ("Scenarijus nutraukiamas.");

Kitas
die ("Scenarijus nutraukiamas.");


?>

Rezultatas

Ši forma bus rodoma paleidus PHP scenarijų iš serverio. Išvestyje 4 yra nustatyta x reikšmė, o 3 - n.


Pateikus formą, scenarijus apskaičiuosir palaukite 2 sekundes, kol pasirodys įspėjimo langelis.

Pasirodys tokia forma, kad pasirinktumėte parinktį vėl rodyti ankstesnę formą, kad apskaičiuotumėte kitos vertės reikšmę x ir n paspaudus mygtuką Gerai.


Jei vartotojas paspaus Gerai mygtukas nepasirinkus žymės langelio, scenarijus bus nutrauktas rodant šį pranešimą.

Išvada

Kai programavimo tikslais PHP scenarijui reikia atidėlioti tam tikrą laikotarpį, užduoties atlikimui galima naudoti funkciją „usleep“). Funkcija „usleep“ () šioje instrukcijoje buvo paaiškinta naudojant įvairius pavyzdžius, kad skaitytojai žinotų, kaip sugeneruoti scenarijų vėlavimą. Miego režimas () yra dar viena integruota PHP funkcija, sukurta scenarijuje.

„Battle for Wesnoth“ pamoka
„Battle for Wesnoth“ yra vienas populiariausių atvirojo kodo strateginių žaidimų, kurį šiuo metu galite žaisti. Šis žaidimas ne tik buvo kuriamas laba...
0 A.D. Pamoka
Iš daugybės strateginių žaidimų 0 A.D. sugeba išsiskirti kaip išsamus pavadinimas ir labai gilus, taktinis žaidimas, nepaisant to, kad yra atviro kodo...
„Unity3D“ pamoka
Įvadas į „Unity 3D“ „Unity 3D“ yra galingas žaidimų kūrimo variklis. Tai yra daugiašalė platforma, kuri leidžia kurti žaidimus mobiliesiems, interneti...