php

Användning av usleep () -funktionen i PHP

Användning av usleep () -funktionen i PHP

Två funktioner används huvudsakligen i PHP för att fördröja körningen av skriptet under en tid. Dessa är usleep () och sleep (). Usleep () -funktionen används för att fördröja körningen av skriptet för specifika mikrosekunder. Denna funktion kan ge ett undantag om det negativa mikrosekundsvärdet anges. Denna funktion förbrukar CPU-cykeln även när den anropas. Hur denna funktion kan användas i PHP har visat i denna handledning.

Syntax:

Syntaxen för denna funktion ges nedan.

ogiltigt usleep (int mikrosekunder)

Denna funktion tar värdet av mikrosekunder som funktionsargument som används för att fördröja skriptet där den här funktionen används. Den här funktionen returnerar ingenting. De olika användningarna av denna funktion visas nedan med hjälp av olika exempel.

Exempel 1: Använd usleep () för att vänta 5 sekunder

Följande exempel visar hur usleep () kan användas för att ställa in fördröjningen i 5 sekunder i skriptet. Skapa en PHP-fil med följande skript. funktionen () används i skriptet för att läsa aktuellt datum och tid. usleep () -funktionen anropas efter att första datumet () har utförts. 5 sekunder är lika med 5000000 mikrosekunder. Så 5000000 används som argumentvärdet usleep () för att ställa in fördröjningen i 5 sekunder. Därefter anropas datum () -funktionen igen.

// Visa aktuellt datum och tid
ekodatum ('d F, Y h: i: s a'). "
";
// Skriv ut meddelandet
eko "Väntar i 5 sekunder ..
";
// Fördröja utförandet av skriptet i 5 sekunder
sova (5000000);
 
// Visa aktuellt datum och tid
ekodatum ('d F, Y h: i: s a'). "
";
?>

Produktion

Skriptet väntar i 5 sekunder efter att det har körts från servern. Utdata visar att skriptet startade körningen kl 05:32:05 och skriptet avslutades kl 05:32:11. Så det har gått 5 sekunder innan utmatningen visas.

Exempel 2: Använd usleep () för att vänta på slumpmässiga tider

Följande exempel visar hur usleep () och rand () -funktionerna kan användas för att ställa in fördröjningen för slumpmässigt antal gånger. Skapa en PHP-fil med följande skript. Skriptets första datum () läser den aktuella systemtiden. Därefter används rand () -funktionen för att generera ett tal mellan 1000000 och 4000000, och det genererade slumpmässiga värdet kommer att användas som argumentvärdet för usleep () -funktionen. Det genererade slumptalet divideras med 1000000 och används i funktionen round () för att få fördröjningstiden i sekunder. Funktionen andra datum () används för att läsa av tidsvärdet efter att usleep () har utförts.

// Visa aktuell tid
ekodatum ('h: i: s a'). "
";
// Ställ in slumpmässigt mikrosekunder
$ fördröjning = rand (1000000,4000000);
// Fördröja körningen av skriptet under definierade sekunder
usleep ($ fördröjning);
// Konvertera mikrosekunderna till sekunder
$ sekunder = runda ($ fördröjning / 1000000);
// Skriv ut meddelandet
eko "Väntar i $ sekunder sekunder ..
";
// Visa aktuell tid
ekodatum ('h: i: s a'). "
";
?>

Produktion

Enligt följande utgång väntade skriptet i 4 sekunder efter körning på servern. Utgången visar att manuset startade körningen 05:35:40 och manuset avslutades 05:35:44. Så manuset har försenats i 4 sekunder.

Exempel 3: Upprepa skriptet efter 2 sekunder

Följande exempel visar hur samma skript kan upprepas efter två sekunders fördröjning baserat på användarens val. Skapa en HTML-fil med namnet form1.html med följande skript för att ta värdet av x och n.

form1.html




Användning av usleep () -funktionen



Ange värdet på x:

Ange värdet på n:




Formulärets data skickas in i den namngivna PHP-filen kraft.php för att beräkna x till effekten n. Skapa kraft.php fil med följande skript. Det kommer att kontrollera att fältvärdena för HTML-formuläret är inställda eller inte. Om värdena lämnas korrekt skickas x till makten n kommer att beräknas och manuset väntar i två sekunder. En varningsruta visas efter 2 sekunder. Ett annat formulär med en kryssruta kommer att uppmana användaren att upprepa samma uppgift efter att ha klickat på OK-knappen i varningsrutan.

kraft.php

// Kontrollera att värdena för x och n är inställda eller inte
if (isset ($ _ POST ['x']) && isset ($ _ POST ['n']))

$ flagga = falsk;
$ x = $ _POST ['x'];
$ n = $ _POST ['n'];
// Beräkna x till kraften n
$ resultat = pow ($ x, $ n);
// Skriv ut resultatet
eko "$ x till makten $ n är $ resultat
";
// Visa formuläret för att upprepa uppgiften igen eller inte
eko '
Gör uppgiften igen
';
// Vänta i två sekunder
sova (2000000);
// Visa varningen
echo "alert ('Waited for 2 seconds…')";

annan

om(!isset ($ _ POST ['ok']))
inkludera ('form1.html ');
annan

// Upprepa uppgiften igen om kryssrutan är på
if (isset ($ _ POST ['task']))
if ($ _ POST ['task'] == 'on')
inkludera ('form1.html ');
annan
die ("Manuset avslutas.");

annan
die ("Manuset avslutas.");


?>

Produktion

Följande formulär visas när du kör PHP-skriptet från servern. I utgången är 4 inställt för värdet x och 3 är inställt för n.


Efter att formuläret har skickats beräknas manusetoch vänta i 2 sekunder innan du visar varningsrutan.

Följande formulär visas för att välja alternativet att visa föregående formulär igen för att beräkna effekten av ett annat värde på x och n efter att ha tryckt på OK-knappen.


Om användaren trycker på OK utan att markera kryssrutan, kommer skriptet att avslutas genom att följande meddelande visas.

Slutsats

När PHP-skriptet kräver fördröjning under en viss period för programmeringsändamål kan usleep () -funktionen användas för att utföra uppgiften. Usleep () -funktionen har förklarats i denna handledning genom att använda olika exempel för att hjälpa läsarna att veta hur man genererar en fördröjning i skriptet. Sleep () är en annan inbyggd funktion för PHP att utvecklas i skriptet.

Hur man installerar och spelar Doom på Linux
Introduktion till Doom Doom-serien har sitt ursprung på 90-talet efter att den ursprungliga Doom släpptes. Det blev en omedelbar hit och från den tide...
Vulkan för Linux-användare
Med varje ny generation grafikkort ser vi spelutvecklare driva gränserna för grafisk trohet och komma ett steg närmare fotorealism. Men trots all kred...
OpenTTD vs Simutrans
Att skapa din egen transportsimulering kan vara rolig, avkopplande och extremt lockande. Det är därför du måste se till att du testar så många spel so...