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 k moci n. Vytvořit energie.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 se vypočítá x k výkonu 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á 43 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 Top 5 karet pro zachycení hry
Top 5 karet pro zachycení hry
Všichni jsme viděli a milovali streamování her na YouTube. PewDiePie, Jakesepticye a Markiplier jsou jen někteří z nejlepších hráčů, kteří vydělali mi...
Hry Jak vyvíjet hru na Linuxu
Jak vyvíjet hru na Linuxu
Před deseti lety by jen málo uživatelů Linuxu předpovídalo, že jejich oblíbený operační systém bude jednoho dne populární herní platformou pro komerčn...
Hry Porty komerčních her s otevřeným zdrojovým kódem
Porty komerčních her s otevřeným zdrojovým kódem
Zdarma, s otevřeným zdrojovým kódem a multiplatformní herní enginy lze hrát staré i některé z poměrně nedávných herních titulů. Tento článek uvede sez...