php

Usleep () -toiminnon käyttö PHP ssä

Usleep () -toiminnon käyttö PHP ssä
Kaksi toimintoa käytetään pääasiassa PHP: ssä komentosarjan suorittamisen viivästyttämiseen jonkin aikaa. Nämä ovat unessa () ja unessa (). Usleep () -toimintoa käytetään viivästyttämään komentosarjan suorittamista tietyille mikrosekunteille. Tämä toiminto voi aiheuttaa poikkeuksen, jos negatiivinen mikrosekunnin arvo annetaan. Tämä toiminto kuluttaa suorittimen jakson myös silloin, kun sitä kutsutaan. Kuinka tätä toimintoa voidaan käyttää PHP: ssä, on näytetty tässä opetusohjelmassa.

Syntaksi:

Tämän toiminnon syntaksi on annettu alla.

mitätöi unen (mikrosekunnissa)

Tämä toiminto ottaa mikrosekunnin arvon funktion argumentteina, joita käytetään viivyttämään komentosarjaa, jossa tätä toimintoa käytetään. Tämä toiminto ei palauta mitään. Tämän toiminnon eri käyttötarkoitukset on esitetty alla käyttämällä useita esimerkkejä.

Esimerkki 1: Usleep (): n käyttö odottamaan 5 sekuntia

Seuraava esimerkki osoittaa, kuinka usleep (): llä voidaan asettaa viive 5 sekunniksi komentosarjassa. Luo PHP-tiedosto seuraavalla komentosarjalla. date () -funktiota käytetään komentosarjassa nykyisen päivämäärän ja kellonajan lukemiseen. usleep () -funktio kutsutaan ensimmäisen päivämäärä () -funktion suorittamisen jälkeen. 5 sekuntia on yhtä suuri kuin 5000000 mikrosekuntia. Joten 5000000 käytetään usleep () -argumenttiarvona viiveen asettamiseksi 5 sekunniksi. Seuraavaksi päivämäärä () -toiminto kutsutaan uudelleen.

// Näytä nykyinen päivämäärä ja kellonaika
kaikupäivä ('d F, Y h: i: s a'). "
";
// Tulosta viesti
kaiku "Odottaa 5 sekuntia…
";
// Viivästytä komentosarjan suorittamista 5 sekunnin ajan
usleep (5000000);
// Näytä nykyinen päivämäärä ja kellonaika
kaikupäivä ('d F, Y h: i: s a'). "
";
?>

Tuotos:


Komentosarja odottaa 5 sekuntia sen suorittamisen jälkeen palvelimelta. Lähtö osoittaa, että komentosarja aloitti suorituksen klo 05:32:05 ja komentosarja päättyi klo 05:32:11. Joten on kulunut 5 sekuntia ennen tuotoksen näyttämistä.

Esimerkki 2: Usleep () -toiminnon käyttö odottaa satunnaisia ​​aikoja

Seuraava esimerkki osoittaa, kuinka usleep () - ja rand () -funktioita voidaan käyttää asettamaan viive satunnaiselle kertamäärälle. Luo PHP-tiedosto seuraavalla komentosarjalla. Komentosarjan ensimmäinen päivämäärä () -toiminto lukee nykyisen järjestelmän ajan. Seuraavaksi rand () -funktiota käytetään luvun luomiseen välillä 1000000 - 4000000, ja luotua satunnaisarvoa käytetään usleep () -funktion argumenttiarvona. Muodostettu satunnaisluku jaetaan 1000000: lla ja sitä käytetään round () -funktiossa viiveajan saamiseksi sekunteina. Toista päivämäärä () -funktiota käytetään aika-arvon lukemiseen sen jälkeen, kun on suoritettu usleep () -toiminto.

// Näytä nykyinen aika
kaikupäivä ('h: i: s a'). "
";
// Aseta satunnainen mikrosekunnin arvo
$ delay = rand (1000000,4000000);
// Viivytä komentosarjan suorittamista määritetyille sekunneille
usleep ($ viive);
// Muunna mikrosekunnit sekunteiksi
$ sekuntia = kierros ($ delay / 1000000);
// Tulosta viesti
kaiku "Odottaa $ sekuntia sekuntia…
";
// Näytä nykyinen aika
kaikupäivä ('h: i: s a'). "
";
?>

Tuotos:

Seuraavan lähdön mukaan skripti odotti 4 sekuntia suorituksen jälkeen palvelimessa. Lähtö osoittaa, että komentosarja aloitti suorituksen klo 05:35:40 ja käsikirjoitus päättyi 05:35:44. Joten käsikirjoitusta on viivästetty 4 sekuntia.

Esimerkki 3: Toista komentosarja 2 sekunnin kuluttua

Seuraava esimerkki osoittaa, kuinka sama komentosarja voidaan toistaa 2 sekunnin viiveellä käyttäjän valinnan perusteella. Luo HTML-tiedosto nimeltä lomake 1.html seuraavan komentosarjan avulla x ja n.

lomake 1.html


Usleep () -toiminnon käyttö
Syötä x: n arvo:

Syötä n: n arvo:

Lomakkeen tiedot lähetetään nimettyyn PHP-tiedostoon teho.php laskea x valtaan n. Luoda teho.php tiedosto seuraavalla komentosarjalla. Se tarkistaa, että HTML-lomakkeen kenttäarvot on asetettu vai ei. Jos arvot on annettu oikein, lasketaan tehoon n liittyvä x ja komentosarja odottaa 2 sekuntia. Varoitusruutu ilmestyy kahden sekunnin kuluttua. Toinen lomake, jossa on valintaruutu, pyytää käyttäjää toistamaan saman tehtävän napsauttamalla hälytysruudun OK-painiketta.

teho.php

// Tarkista, että x: n ja n: n arvot on asetettu vai ei
if (isset ($ _ POST ['x']) && isset ($ _ POST ['n']))

$ flag = väärä;
$ x = $ _POST ['x'];
$ n = $ _POST ['n'];
// Laske x tehoon n
$ tulos = pow ($ x, $ n);
// Tulosta tulos
echo "$ x tehoon $ n on $ tulos
";
// Näytä lomake toistamaan tehtävä uudelleen tai ei
kaiku '
Tee tehtävä uudelleen
";
// Odota kaksi sekuntia
usleep (2000000);
// Näytä hälytys
kaiku "hälytys ('Odottaa 2 sekuntia ...')";

muu

jos(!setset ($ _ POST ['ok']))
sisältää ('lomake1.html ');
muu

// Toista tehtävä uudelleen, jos valintaruutu on päällä
if (isset ($ _ POST ['tehtävä']))
jos ($ _ POST ['tehtävä'] == 'päällä')
sisältää ('lomake1.html ');
muu
die ("Käsikirjoitus lopetetaan.");

muu
die ("Käsikirjoitus lopetetaan.");


?>

Tuotos:

Seuraava lomake tulee näkyviin, kun PHP-komentosarja on suoritettu palvelimelta. Lähdössä 4 asetetaan arvolle x ja 3 asetetaan arvolle n.

Lomakkeen lähettämisen jälkeen komentosarja laskee 43 ja odota 2 sekuntia ennen hälytysruudun näyttämistä.


Seuraava lomake ilmestyy valitsemaan vaihtoehdon näyttää edellinen lomake uudelleen toisen arvon arvon laskemiseksi x ja n painettuasi OK-painiketta.

Jos käyttäjä painaa OK -painiketta valitsematta valintaruutua, komentosarja lopetetaan näyttämällä seuraava viesti.

Päätelmä:

Kun PHP-komentosarja tarvitsee viiveen tietyn ajanjakson ohjelmointitarkoituksia varten, tehtävän suorittamiseen voidaan käyttää usleep () -toimintoa. Usleep () -funktio on selitetty tässä opetusohjelmassa useiden esimerkkien avulla, jotta lukijat tietävät kuinka luoda viive komentosarjassa. Sleep () on toinen PHP: n sisäänrakennettu toiminto, joka kehitetään komentosarjassa.

Middle mouse button not working in Windows 10
The middle mouse button helps you scroll through long webpages and screens with a lot of data. If that stops, well you will end up using the keyboard ...
How to change Left & Right mouse buttons on Windows 10 PC
It's quite a norm that all computer mouse devices are ergonomically designed for right-handed users. But there are mouse devices available which are s...
Emulate Mouse clicks by hovering using Clickless Mouse in Windows 10
Using a mouse or keyboard in the wrong posture of excessive usage can result in a lot of health issues, including strain, carpal tunnel syndrome, and ...