Uso da função USLEEP em PHP

Uso da função USLEEP em PHP

Duas funções são usadas principalmente no PHP para adiar 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 para microssegundos específicos. Esta função pode fazer uma exceção se o valor negativo dos microssegundos for fornecido. Esta função consome o ciclo da CPU também quando chamado. Como essa função pode ser usada no PHP mostrou neste tutorial.

Sintaxe:

A sintaxe desta função é dada abaixo.

Void USleep (int microssegundos)

Esta função leva o valor dos microssegundos como argumentos de função usados ​​para adiar o script onde essa 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 o USLEEP () pode ser usado para definir o atraso por 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 executar a primeira data (). 5 segundos é igual a 5000000 microssegundos. Portanto, o 5000000 é usado como o valor do argumento USLEEP () para definir o atraso por 5 segundos. Em seguida, a função date () é chamada novamente.

// exibe a data e a hora atuais
Echo Date ('DF, Y H: i: S a'). "
";
// Imprima a mensagem
eco "esperando por 5 segundos…
";
// atrasa a execução do script por 5 segundos
USleep (5000000);
// exibe a data e a hora atuais
Echo Date ('DF, Y H: i: S a'). "
";
?>

Saída

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

Exemplo-2: Uso de USLeep () para aguardar tempos 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 data () da função do script lerá o tempo 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 data () é usada para ler o valor do tempo após a execução da função USLEEP ().

// exibe o horário atual
Echo Date ('H: i: S a'). "
";
// Defina o valor aleatório dos microssegundos
$ atraso = rand (1000000.4000000);
// atrasa a execução do script por segundos definidos
USleep ($ atraso);
// converte os microssegundos em segundos
$ segundos = redonda ($ atraso/1000000);
// Imprima a mensagem
eco "Esperando por US $ segundos…
";
// exibe o horário atual
Echo Date ('H: i: S a'). "
";
?>

Saída

De acordo com a saída a seguir, o script esperou 4 segundos depois de executar 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 adiado 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 nomeado formulário 1.html com o script a seguir para aceitar o valor de x e n.

formulário 1.html




Uso da função USLeep ()



Digite o valor de x:

Digite o valor de n:




Os dados do formulário serão enviados ao arquivo php nomeado poder.php Para calcular o x para o poder n. Crie o poder.php Arquivo com o seguinte script. Ele verificará os valores de campo do formulário HTML estão definidos ou não. Se os valores forem enviados corretamente, então o X ao poder 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 parecerá pedir ao usuário que repita a mesma tarefa depois de clicar no botão OK da caixa de alerta.

poder.php

// verifique 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 para a potência n
$ resultado = pow ($ x, $ n);
// imprima o resultado
eco "$ x para a potência $ n é $ resultado
";
// exibe o formulário para repetir a tarefa novamente ou não
eco '
Faça a tarefa novamente
';
// Aguarde dois segundos
USLEEP (2000000);
// exibe o alerta
eco "Alert ('esperou 2 segundos ...')";

outro

se(!isset ($ _ post ['ok']))))
incluir ('Form1.html ');
outro

// Repita a tarefa novamente se a caixa de seleção estiver ligada
if (isset ($ _ post ['tarefa']))
if ($ _ post ['tarefa'] == 'on')
incluir ('Form1.html ');
outro
morrer ("o script é encerrado.");

outro
morrer ("o script é encerrado.");


?>

Saída

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


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

O formulário a seguir parecerá selecionar a opção de exibir o formulário anterior novamente para calcular o poder 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 para um período específico para fins de programação, a função USLeep () pode ser usada para executar 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 interna do PHP para se desenvolver no script.