php

Funkcijas usleep () izmantošana PHP

Funkcijas usleep () izmantošana PHP

Lai kādu laiku aizkavētu skripta izpildi, PHP galvenokārt tiek izmantotas divas funkcijas. Tie ir miegs () un miegs (). Funkcija usleep () tiek izmantota, lai aizkavētu skripta izpildi noteiktām mikrosekundēm. Šī funkcija var radīt izņēmumu, ja tiek norādīta negatīva mikrosekundes vērtība. Šī funkcija patērē CPU ciklu arī tad, kad to izsauc. Kā šo funkciju var izmantot PHP, ir parādīts šajā apmācībā.

Sintakse:

Šīs funkcijas sintakse ir dota tālāk.

anulēt miegu (mikrosekundēs)

Šī funkcija ņem mikrosekundes vērtību kā funkcijas argumentus, ko izmanto, lai aizkavētu skriptu, kur tiek izmantota šī funkcija. Šī funkcija neko neatgriež. Dažādi šīs funkcijas izmantošanas veidi ir parādīti zemāk, izmantojot dažādus piemērus.

1. piemērs: usleep () izmantošana, lai pagaidītu 5 sekundes

Šis piemērs parāda, kā usleep () var izmantot, lai skriptā iestatītu kavēšanos uz 5 sekundēm. Izveidojiet PHP failu ar šādu skriptu. date () funkcija tiek izmantota skriptā, lai nolasītu pašreizējo datumu un laiku. Funkcija usleep () tiek izsaukta pēc pirmās datuma () funkcijas izpildes. 5 sekundes ir vienādas ar 5000000 mikrosekundēm. Tātad 5000000 tiek izmantots kā argumenta usleep () vērtība, lai iestatītu kavēšanos uz 5 sekundēm. Pēc tam funkcija date () tiek izsaukta vēlreiz.

// Parādīt pašreizējo datumu un laiku
atbalss datums ('d F, Y h: i: s a'). "
";
// Izdrukājiet ziņojumu
atbalss "Gaida 5 sekundes ..
";
// Aizkavējiet skripta izpildi par 5 sekundēm
usleep (5000000);
 
// Parādīt pašreizējo datumu un laiku
atbalss datums ('d F, Y h: i: s a'). "
";
?>

Rezultāts

Pēc izpildes no servera skripts gaidīs 5 sekundes. Rezultāts parāda, ka skripts sāka izpildi plkst. 05:32:05 un skripts tika pārtraukts plkst. 05:32:11. Tātad, pirms izejas parādīšanas ir pagājušas 5 sekundes.

2. piemērs: usleep () izmantošana, lai gaidītu nejaušus laikus

Šis piemērs parāda, kā funkcijas usleep () un rand () var izmantot, lai iestatītu aizturi nejaušam reižu skaitam. Izveidojiet PHP failu ar šādu skriptu. Skripta pirmā datuma () funkcija nolasīs pašreizējo sistēmas laiku. Pēc tam funkcija rand () tiek izmantota, lai ģenerētu skaitli no 1000000 līdz 4000000, un ģenerētā gadījuma vērtība tiks izmantota kā funkcijas usleep () argumenta vērtība. Ģenerētais nejaušais skaitlis tiks dalīts ar 1000000 un tiks izmantots round () funkcijā, lai iegūtu aizkaves laiku sekundēs. Otrā datuma () funkcija tiek izmantota laika vērtības nolasīšanai pēc funkcijas usleep () izpildes.

// Parādīt pašreizējo laiku
atbalss datums ('h: i: s a'). "
";
// Iestatiet nejaušas mikrosekundes vērtību
$ aizkavēšanās = rand (1000000,4000000);
// Aizkavēt skripta izpildi noteiktām sekundēm
usleep ($ kavēšanās);
// Pārvērst mikrosekundes sekundēs
$ sekundes = apaļa ($ kavēšanās / 1000000);
// Izdrukājiet ziņojumu
atbalss "Gaida $ sekundes sekundes ..
";
// Parādīt pašreizējo laiku
atbalss datums ('h: i: s a'). "
";
?>

Rezultāts

Saskaņā ar šādu izvadi skripts gaidīja 4 sekundes pēc izpildes serverī. Rezultāts parāda, ka skripts sāka izpildi plkst. 05:35:40 un skripts tika pārtraukts plkst. 05:35:44. Tātad skripts ir aizkavējies par 4 sekundēm.

3. piemērs: atkārtojiet skriptu pēc 2 sekundēm

Šis piemērs parāda, kā vienu un to pašu skriptu var atkārtot pēc 2 sekunžu kavēšanās, pamatojoties uz lietotāja izvēli. Izveidojiet HTML failu ar nosaukumu forma1.html ar šādu skriptu, lai ņemtu vērtību x un n.

forma1.html




Funkcijas aizmigšana () izmantošana



Ievadiet x vērtību:

Ievadiet n vērtību:




Veidlapas dati tiks iesniegti nosauktajā PHP failā jauda.php lai aprēķinātu x līdz jaudai n. Izveidojiet jauda.php failu ar šādu skriptu. Tas pārbaudīs, vai HTML formas lauka vērtības ir iestatītas vai nav iestatītas. Ja vērtības ir pareizi iesniegtas, tad x uz jaudu n tiks aprēķināts, un skripts gaidīs 2 sekundes. Pēc 2 sekundēm parādīsies brīdinājuma lodziņš. Pēc noklikšķināšanas uz brīdinājuma lodziņa pogas Labi parādīsies cita veidlapa ar izvēles rūtiņu, kurā lietotājam tiks lūgts atkārtot to pašu uzdevumu.

jauda.php

// Pārbaudiet, vai x un n vērtības ir iestatītas vai nav iestatītas
ja (isset ($ _ POST ['x']) && isset ($ _ POST ['n']))

$ flag = nepatiesa;
$ x = $ _POST ['x'];
$ n = $ _POST ['n'];
// Aprēķiniet x līdz jaudai n
$ rezultāts = pow ($ x, $ n);
// Izdrukājiet rezultātu
atbalss "$ x spēkam $ n ir $ rezultāts
";
// Parādiet veidlapu, lai atkārtotu uzdevumu vai nē
atbalss '
Veiciet uzdevumu vēlreiz
";
// Pagaidiet divas sekundes
aizmigt (2000000);
// Parādīt brīdinājumu
atbalss "brīdinājums ('Gaidīts 2 sekundes ...')";

cits

ja (!isset ($ _ POST ['ok']))
iekļaut ('forma1.html ');
cits

// Atkārtojiet uzdevumu vēlreiz, ja izvēles rūtiņa ir ieslēgta
ja (isset ($ _ POST ['uzdevums']))
ja ($ _ POST ['uzdevums'] == 'ieslēgts')
iekļaut ('forma1.html ');
cits
die ("Skripts ir pārtraukts.");

cits
die ("Skripts ir pārtraukts.");


?>

Rezultāts

Pēc PHP skripta palaišanas no servera parādīsies šāda veidlapa. Izejā 4 ir iestatīts x vērtībai un 3 ir n.


Pēc veidlapas iesniegšanas skripts aprēķināsun pagaidiet 2 sekundes, pirms tiek parādīts brīdinājumu lodziņš.

Parādīsies šāda veidlapa, lai atlasītu opciju atkal parādīt iepriekšējo veidlapu, lai aprēķinātu citas vērtības vērtību x un n pēc pogas Labi nospiešanas.


Ja lietotājs nospiež labi poga, neatzīmējot izvēles rūtiņu, skripts tiks pārtraukts, parādot šādu ziņojumu.

Secinājums

Kad PHP skripts programmēšanas nolūkos prasa noteiktu laiku, tad uzdevuma veikšanai var izmantot funkciju usleep (). Funkcija usleep () šajā apmācībā ir izskaidrota, izmantojot dažādus piemērus, lai palīdzētu lasītājiem uzzināt, kā radīt aizkavēšanos skriptā. Miega režīms () ir vēl viena PHP iebūvēta funkcija, kas jāizstrādā skriptā.

How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Izmantojot X-Mouse Button Control, atšķirīgi mainiet peles pogas atšķirīgai programmatūrai
Varbūt jums ir nepieciešams rīks, kas varētu mainīt peles vadību ar katru lietoto lietojumprogrammu. Ja tas tā ir, varat izmēģināt lietojumprogrammu a...
Microsoft Sculpt Touch bezvadu peles apskats
Es nesen lasīju par Microsoft Sculpt Touch bezvadu pele un nolēma to nopirkt. Pēc kāda laika izmantošanas es nolēmu dalīties savā pieredzē ar to. Šo b...