php

Използване на функцията usleep () в PHP

Използване на функцията usleep () в PHP

Две функции се използват главно в PHP, за да забавят изпълнението на скрипта за известно време. Това са usleep () и sleep (). Функцията usleep () се използва за забавяне на изпълнението на скрипта за определени микросекунди. Тази функция може да създаде изключение, ако е предоставена отрицателната стойност от микросекунди. Тази функция консумира цикъла на процесора и когато е извикана. Как тази функция може да се използва в PHP е показано в този урок.

Синтаксис:

Синтаксисът на тази функция е даден по-долу.

usid usleep (int microseconds)

Тази функция приема стойността на микросекундите като аргументи на функцията, използвани за забавяне на скрипта, където се използва тази функция. Тази функция не връща нищо. Различните приложения на тази функция са показани по-долу с помощта на различни примери.

Пример-1: Използвайте usleep (), за да изчакате 5 секунди

Следващият пример показва как usleep () може да се използва за задаване на закъснението за 5 секунди в скрипта. Създайте PHP файл със следния скрипт. Функцията date () се използва в скрипта за четене на текущата дата и час. usleep () функция се извиква след изпълнение на първата дата () функция. 5 секунди е равно на 5000000 микросекунди. И така, 5000000 се използва като стойност на аргумента usleep () за задаване на закъснението за 5 секунди. След това функцията date () се извиква отново.

// Показване на текущата дата и час
дата на ехото („d F, Y h: i: s a“). "
";
// Отпечатайте съобщението
echo "Изчаква се 5 секунди ..
";
// Забавяне на изпълнението на скрипта за 5 секунди
usleep (5000000);
 
// Показване на текущата дата и час
дата на ехото („d F, Y h: i: s a“). "
";
?>

Изход

Скриптът ще изчака 5 секунди, след като го изпълни от сървъра. Резултатът показва, че скриптът е стартирал изпълнението в 05:32:05 ч. И скриптът е прекратен в 05:32:11 ч. И така, 5 секунди са минали, преди да се покаже изхода.

Пример-2: Използване на usleep () за изчакване на случайни времена

Следващият пример показва как функциите usleep () и rand () могат да се използват за задаване на закъснението за случаен брой пъти. Създайте PHP файл със следния скрипт. Функцията first date () на скрипта ще прочете текущото системно време. След това функцията rand () се използва за генериране на число между 1000000 и 4000000 и генерираната произволна стойност ще се използва като стойност на аргумента на функцията usleep (). Генерираното произволно число ще бъде разделено на 1000000 и използвано във функцията round (), за да се получи времето за забавяне в секунди. Втората функция date () се използва за отчитане на стойността на времето след изпълнение на функцията usleep ().

// Показване на текущото време
echo date ('h: i: s a'). "
";
// Задаване на стойността на произволни микросекунди
$ закъснение = rand (1000000,4000000);
// Забавяне на изпълнението на скрипта за определени секунди
usleep ($ delay);
// Преобразуване на микросекундите в секунди
$ секунди = кръг ($ закъснение / 1000000);
// Отпечатайте съобщението
echo "Изчаква се $ секунди секунди ..
";
// Показване на текущото време
echo date ('h: i: s a'). "
";
?>

Изход

Според следващия изход скриптът изчаква 4 секунди след изпълнение в сървъра. Резултатът показва, че скриптът е стартирал изпълнението в 05:35:40 ч. И скриптът е прекратен в 05:35:44 ч. И така, скриптът е забавен за 4 секунди.

Пример-3: Повторете скрипта след 2 секунди

Следващият пример показва как един и същ скрипт може да се повтори след 2 секунди закъснение въз основа на избора на потребителя. Създайте HTML файл с име форма1.html със следния скрипт, за да вземе стойността на х и н.

форма1.html




Използване на функцията usleep ()



Въведете стойността на x:

Въведете стойността на n:




Данните на формуляра ще бъдат изпратени в име на PHP файл мощност.php за изчисляване на х към степента n. Създайте мощност.php файл със следния скрипт. Той ще провери дали стойностите на полетата на HTML формата са зададени или не. Ако стойностите са изпратени правилно, тогава x към степента н ще се изчисли и скриптът ще изчака 2 секунди. След 2 секунди ще се появи предупредително поле. Ще се появи друг формуляр с отметка, за да помолите потребителя да повтори същата задача, след като щракне върху бутона OK на полето за предупреждение.

мощност.php

// Проверяваме дали стойностите на x и n са зададени или не
if (isset ($ _ POST ['x']) && isset ($ _ POST ['n']))

$ флаг = невярно;
$ x = $ _POST ['x'];
$ n = $ _POST ['n'];
// Изчисляваме x до степен n
$ резултат = пудра ($ x, $ n);
// Отпечатваме резултата
echo "$ x до степента $ n е $ резултат
";
// Показване на формуляра, за да повторите задачата отново или не
ехо
Направи задачата отново
';
// Изчакайте две секунди
usleep (2000000);
// Показване на предупреждението
echo "alert ('Изчакано 2 секунди ...')";

друго

ако (!isset ($ _ POST ['ok']))
включва ('form1.html ');
друго

// Повторете задачата отново, ако квадратчето е включено
if (isset ($ _ POST ['task']))
ако ($ _ POST ['task'] == 'on')
включва ('form1.html ');
друго
die ("Сценарият е прекратен.");

друго
die ("Сценарият е прекратен.");


?>

Изход

Следният формуляр ще се появи след стартиране на PHP скрипта от сървъра. В изхода 4 е зададено за стойността на x и 3 е зададено за n.


След подаване на формуляра скриптът ще изчислии изчакайте 2 секунди, преди да покажете полето за предупреждение.

Ще се появи следният формуляр, за да изберете опцията за повторно показване на предишния формуляр, за да се изчисли мощността на друга стойност на x и n след натискане на бутона OK.


Ако потребителят натисне Добре без да поставите отметка в квадратчето, скриптът ще бъде прекратен чрез показване на следното съобщение.

Заключение

Когато PHP скриптът изисква забавяне за определен период за програмиране, тогава функцията usleep () може да се използва за изпълнение на задачата. Функцията usleep () е обяснена в този урок с помощта на различни примери, за да помогне на читателите да знаят как да генерират забавяне в скрипта. Sleep () е друга вградена функция на PHP, която да се развива в скрипта.

5 най-добри аркадни игри за Linux
В днешно време компютрите са сериозни машини, използвани за игри. Ако не можете да получите новия висок резултат, ще разберете какво имам предвид. В т...
Битка за Уеснот 1.13.6 Разработка освободена
Битка за Уеснот 1.13.6, издаден миналия месец, е шестата версия за разработка в 1.13.x серия и предоставя редица подобрения, най-вече на потребителски...
Как да инсталирате League Of Legends на Ubuntu 14.04
Ако сте фен на League of Legends, това е възможност за вас да тествате League of Legends. Имайте предвид, че LOL се поддържа на PlayOnLinux, ако сте п...