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 o x ao poder n. Crio o poder.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 aguardará 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á calcular 43 e 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.

Melhores aplicativos de mapeamento de gamepad para Linux
Se você gosta de jogar no Linux com um gamepad em vez de um teclado típico e sistema de entrada de mouse, existem alguns aplicativos úteis para você. ...
Ferramentas úteis para jogadores de Linux
Se você gosta de jogar no Linux, é provável que tenha usado aplicativos e utilitários como Wine, Lutris e OBS Studio para melhorar a experiência de jo...
Jogos HD Remasterizados para Linux que nunca tiveram uma versão Linux anterior
Muitos desenvolvedores e editores de jogos estão apresentando remasterização em HD de jogos antigos para estender a vida da franquia, por favor, os fã...