php

Použití funkce usleep () v PHP

Použití funkce usleep () v PHP

Dvě funkce se v PHP používají hlavně k oddálení provádění skriptu na nějakou dobu. Jedná se o usleep () a sleep (). Funkce usleep () se používá ke zpoždění provádění skriptu o určité mikrosekundy. Tato funkce může vyvolat výjimku, pokud je zadána záporná hodnota mikrosekund. Tato funkce spotřebovává cyklus CPU, i když je vyvolána. Jak lze tuto funkci použít v PHP, ukázal tento návod.

Syntax:

Syntaxe této funkce je uvedena níže.

void usleep (int mikrosekundy)

Tato funkce bere hodnotu mikrosekund jako argumenty funkce používané ke zpoždění skriptu, kde se tato funkce používá. Tato funkce nevrací nic. Různá použití této funkce jsou uvedena níže pomocí různých příkladů.

Příklad 1: Použití usleep () k čekání 5 sekund

Následující příklad ukazuje, jak lze pomocí usleep () nastavit zpoždění na 5 sekund ve skriptu. Vytvořte soubor PHP s následujícím skriptem. funkce date () se ve skriptu používá ke čtení aktuálního data a času. Funkce usleep () se volá po provedení první funkce date (). 5 sekund se rovná 5000000 mikrosekund. 5000000 se tedy používá jako hodnota argumentu usleep () k nastavení zpoždění na 5 sekund. Dále je funkce date () volána znovu.

// Zobrazí aktuální datum a čas
echo date ('d F, Y h: i: s a'). "
";
// Vytiskněte zprávu
echo "Čekání na 5 sekund ..
";
// Zpoždění spuštění skriptu na 5 sekund
usleep (5000000);
 
// Zobrazí aktuální datum a čas
echo date ('d F, Y h: i: s a'). "
";
?>

Výstup

Skript po jeho spuštění ze serveru počká 5 sekund. Výstup ukazuje, že skript zahájil provádění v 05:32:05 a skript byl ukončen v 05:32:11. Před zobrazením výstupu tedy uplynulo 5 sekund.

Příklad 2: Použití usleep () k čekání na náhodné časy

Následující příklad ukazuje, jak lze pomocí funkcí usleep () a rand () nastavit zpoždění pro náhodný počet opakování. Vytvořte soubor PHP s následujícím skriptem. První funkce skriptu date () načte aktuální systémový čas. Dále se funkce rand () používá ke generování čísla mezi 1000000 a 4000000 a vygenerovaná náhodná hodnota se použije jako hodnota argumentu funkce usleep (). Vygenerované náhodné číslo se vydělí 10 000 000 a použije se ve funkci round () k získání doby zpoždění v sekundách. Druhá funkce date () se používá ke čtení hodnoty času po provedení funkce usleep ().

// Zobrazí aktuální čas
echo date ('h: i: s a'). "
";
// Nastaví hodnotu náhodných mikrosekund
$ delay = rand (1000000,4000000);
// Zpoždění provádění skriptu na definované sekundy
usleep (zpoždění $);
// Převede mikrosekundy na sekundy
$ sekundy = kolo ($ zpoždění / 10 000 000);
// Vytiskněte zprávu
echo "Čekání na $ sekund sekund ..
";
// Zobrazí aktuální čas
echo date ('h: i: s a'). "
";
?>

Výstup

Podle následujícího výstupu skript po spuštění na serveru počkal 4 sekundy. Výstup ukazuje, že skript zahájil provádění v 05:35:40 hodin a skript byl ukončen v 05:35:44 hodin. Skript byl tedy zpožděn o 4 sekundy.

Příklad 3: Skript opakujte po 2 sekundách

Následující příklad ukazuje, jak lze stejný skript opakovat po 2 sekundách zpoždění na základě výběru uživatele. Vytvořte soubor HTML s názvem formulář1.html s následujícím skriptem převzít hodnotu X a n.

formulář1.html




Použití funkce usleep ()



Zadejte hodnotu x:

Zadejte hodnotu n:




Údaje formuláře budou odeslány do souboru PHP s názvem Napájení.php vypočítat x na mocninu n. Vytvořte Napájení.php soubor s následujícím skriptem. Zkontroluje, zda jsou hodnoty polí formuláře HTML nastaveny nebo ne. Pokud jsou hodnoty správně zadány, pak x na mocninu n bude vypočítán a skript počká 2 sekundy. Po 2 sekundách se zobrazí výstražné okno. Zobrazí se další formulář se zaškrtávacím políčkem, který po kliknutí na tlačítko OK výstražného pole požádá uživatele o opakování stejného úkolu.

Napájení.php

// Zkontrolujte, zda jsou hodnoty x a n nastaveny nebo ne
if (isset ($ _ POST ['x']) && isset ($ _ POST ['n']))

$ flag = false;
$ x = $ _POST ['x'];
$ n = $ _POST ['n'];
// Vypočítejte x na mocninu n
$ result = pow ($ x, $ n);
// Vytiskněte výsledek
echo "$ x na sílu $ n je $ výsledek
";
// Zobrazte formulář, chcete-li úkol opakovat nebo ne
ozvěna '
Proveďte úkol znovu
';
// Počkejte dvě sekundy
usleep (2000000);
// Zobrazit upozornění
echo "alert ('Wait for 2 seconds ...')";

jiný

li(!isset ($ _ POST ['ok']))
zahrnout ('form1.html ');
jiný

// Úkol opakujte, pokud je zaškrtávací políčko zapnuté
if (isset ($ _ POST ['task']))
if ($ _ POST ['task'] == 'on')
zahrnout ('form1.html ');
jiný
die ("Skript je ukončen.");

jiný
die ("Skript je ukončen.");


?>

Výstup

Po spuštění skriptu PHP ze serveru se zobrazí následující formulář. Na výstupu je 4 nastaveno na hodnotu x a 3 je nastaveno na n.


Po odeslání formuláře se skript vypočítáa před zobrazením výstražného pole počkejte 2 sekundy.

Zobrazí se následující formulář pro výběr možnosti opětovného zobrazení předchozího formuláře pro výpočet síly jiné hodnoty x a n po stisknutí tlačítka OK.


Pokud uživatel stiskne OK bez zaškrtnutí políčka bude skript ukončen zobrazením následující zprávy.

Závěr

Když skript PHP vyžaduje zpoždění pro určité období pro účely programování, lze k provedení úlohy použít funkci usleep (). Funkce usleep () byla v tomto tutoriálu vysvětlena pomocí různých příkladů, které čtenářům pomohou vědět, jak generovat zpoždění ve skriptu. Sleep () je další vestavěná funkce PHP vyvíjená ve skriptu.

Hry Jak zachytit a streamovat vaši herní relaci v systému Linux
Jak zachytit a streamovat vaši herní relaci v systému Linux
V minulosti bylo hraní her považováno pouze za koníček, ale postupem času došlo v herním průmyslu k obrovskému nárůstu z hlediska technologie a počtu ...
Hry Nejlepší hry pro ruční sledování
Nejlepší hry pro ruční sledování
Oculus Quest nedávno představil skvělou myšlenku ručního sledování bez ovladačů. S neustále se zvyšujícím počtem her a aktivit, které provádějí podpor...
Hry Jak zobrazit překrytí OSD v linuxových aplikacích a hrách na celou obrazovku
Jak zobrazit překrytí OSD v linuxových aplikacích a hrách na celou obrazovku
Hraní her na celou obrazovku nebo používání aplikací v režimu celé obrazovky bez rozptýlení vás mohou odříznout od příslušných systémových informací v...