php

Uso da função usleep () em PHP

Uso da função usleep () em PHP

Duas funções são usadas principalmente no PHP para atrasar a execução do script por algum tempo. Estes são usleep () e sleep (). A função usleep () é usada para atrasar a execução do script por microssegundos específicos. Esta função pode lançar uma exceção se o valor de microssegundos negativo for fornecido. Esta função consome o ciclo da CPU também quando chamada. Como esta função pode ser usada em PHP foi mostrado neste tutorial.

Sintaxe:

A sintaxe desta função é dada abaixo.

void usleep (int microssegundos)

Esta função recebe o valor de microssegundos como argumentos de função usados ​​para atrasar o script onde esta função é usada. Esta função não retorna nada. Os diferentes usos desta função são mostrados abaixo usando vários exemplos.

Exemplo-1: uso de usleep () para esperar 5 segundos

O exemplo a seguir mostra como usleep () pode ser usado para definir o atraso de 5 segundos no script. Crie um arquivo PHP com o seguinte script. A função date () é usada no script para ler a data e hora atuais. A função usleep () é chamada após a execução da primeira função date (). 5 segundos é igual a 5000000 microssegundos. Então, 5000000 é usado como o valor do argumento usleep () para definir o atraso de 5 segundos. Em seguida, a função date () é chamada novamente.

// Mostra a data e hora atuais
data de eco ('d F, Y h: i: s a'). "
";
// Imprime a mensagem
echo "Esperando 5 segundos…
";
// Atrase a execução do script por 5 segundos
usleep (5000000);
 
// Mostra a data e hora atuais
data de eco ('d F, Y h: i: s a'). "
";
?>

Resultado

O script irá esperar 5 segundos após executá-lo no servidor. A saída mostra que o script iniciou a execução às 05:32:05 e terminou às 05:32:11. Então, 5 segundos se passaram antes de exibir a saída.

Exemplo 2: uso de usleep () para esperar por momentos aleatórios

O exemplo a seguir mostra como as funções usleep () e rand () podem ser usadas para definir o atraso para o número aleatório de vezes. Crie um arquivo PHP com o seguinte script. A primeira função date () do script irá ler a hora atual do sistema. Em seguida, a função rand () é usada para gerar um número entre 1000000 e 4000000, e o valor aleatório gerado será usado como o valor do argumento da função usleep (). O número aleatório gerado será dividido por 1000000 e utilizado na função round () para obter o tempo de atraso em segundos. A segunda função date () é usada para ler o valor da hora após a execução da função usleep ().

// Mostra a hora atual
data de eco ('h: i: s a'). "
";
// Defina o valor aleatório de microssegundos
$ atraso = rand (1000000,4000000);
// Atrasar a execução do script por segundos definidos
usleep ($ atraso);
// Converta os microssegundos em segundos
$ segundos = rodada ($ atraso / 1000000);
// Imprime a mensagem
echo "Esperando $ segundos segundos…
";
// Mostra a hora atual
data de eco ('h: i: s a'). "
";
?>

Resultado

De acordo com a seguinte saída, o script esperou 4 segundos após ser executado no servidor. A saída mostra que o script iniciou a execução às 05:35:40 e o script terminou às 05:35:44. Então, o script foi atrasado por 4 segundos.

Exemplo 3: Repita o script após 2 segundos

O exemplo a seguir mostra como o mesmo script pode ser repetido após 2 segundos de atraso com base na seleção do usuário. Crie um arquivo HTML chamado formulário 1.html com o seguinte script para obter o valor de x e n.

formulário 1.html




Uso da função usleep ()



Insira o valor de x:

Insira o valor de n:




Os dados do formulário serão enviados para o arquivo PHP denominado potência.php calcular ax elevado à potência n. Crie o potência.php arquivo com o seguinte script. Irá verificar se os valores dos campos do formulário HTML estão definidos ou não. Se os valores forem enviados corretamente, o x elevado à potência n será calculado, e o script irá esperar 2 segundos. Uma caixa de alerta aparecerá após 2 segundos. Outro formulário com uma caixa de seleção aparecerá para pedir ao usuário para repetir a mesma tarefa após clicar no botão OK da caixa de alerta.

potência.php

// Verifique se os valores de x e n estão definidos ou não
if (isset ($ _ POST ['x']) && isset ($ _ POST ['n']))

$ flag = false;
$ x = $ _POST ['x'];
$ n = $ _POST ['n'];
// Calcule o x elevado à potência n
$ resultado = pow ($ x, $ n);
// Imprime o resultado
echo "$ x elevado à potência $ n é $ resultado
";
// Mostra o formulário para repetir a tarefa novamente ou não
eco '
Faça a tarefa novamente
';
// Aguarde dois segundos
usleep (2000000);
// Exibir o alerta
echo "alert ('Esperou 2 segundos…')";

senão

E se(!isset ($ _ POST ['ok']))
include ('form1.html ');
senão

// Repita a tarefa novamente se a caixa de seleção estiver ativada
if (isset ($ _ POST ['tarefa']))
if ($ _ POST ['task'] == 'on')
include ('form1.html ');
senão
die ("O script foi encerrado.");

senão
die ("O script foi encerrado.");


?>

Resultado

O seguinte formulário aparecerá após a execução do script PHP do servidor. Na saída, 4 é definido para o valor de x, e 3 é definido para n.


Depois de enviar o formulário, o script irá calculare aguarde 2 segundos antes de exibir a caixa de alerta.

O seguinte formulário aparecerá para selecionar a opção de exibir o formulário anterior novamente para calcular a potência de outro valor de x e n depois de pressionar o botão OK.


Se o usuário pressionar o OK botão sem selecionar a caixa de seleção, o script será encerrado exibindo a seguinte mensagem.

Conclusão

Quando o script PHP requer atraso por um período específico para fins de programação, a função usleep () pode ser usada para fazer a tarefa. A função usleep () foi explicada neste tutorial usando vários exemplos para ajudar os leitores a saber como gerar um atraso no script. Sleep () é outra função embutida do PHP para desenvolver no script.

Tutorial OpenTTD
OpenTTD é um dos jogos de simulação de negócios mais populares que existem. Neste jogo, você precisa criar um maravilhoso negócio de transporte. No en...
SuperTuxKart para Linux
SuperTuxKart é um ótimo título projetado para trazer a você a experiência Mario Kart gratuitamente em seu sistema Linux. É bastante desafiador e diver...
Tutorial de Battle for Wesnoth
The Battle for Wesnoth é um dos jogos de estratégia de código aberto mais populares que você pode jogar no momento. Este jogo não está apenas em desen...