Uso della funzione Usleep in PHP

Uso della funzione Usleep in PHP

Due funzioni sono utilizzate principalmente in PHP per ritardare l'esecuzione dello script per qualche tempo. Questi sono usleep () e sleep (). La funzione Usleep () viene utilizzata per ritardare l'esecuzione dello script per microsecondi specifici. Questa funzione può lanciare un'eccezione se viene fornito il valore di microsecondi negativi. Questa funzione consuma anche il ciclo della CPU quando viene chiamata. In che modo questa funzione può essere utilizzata in PHP ha mostrato in questo tutorial.

Sintassi:

La sintassi di questa funzione è riportata di seguito.

vuoto usleep (int microsecondi)

Questa funzione prende il valore di microsecondi come argomenti di funzione utilizzati per ritardare lo script in cui viene utilizzata questa funzione. Questa funzione non restituisce nulla. I diversi usi di questa funzione sono mostrati di seguito utilizzando vari esempi.

Esempio-1: utilizzo di usleep () per aspettare 5 secondi

L'esempio seguente mostra come utilizzare Usleep () per impostare il ritardo per 5 secondi nello script. Crea un file PHP con il seguente script. La funzione Date () viene utilizzata nello script per leggere la data e l'ora correnti. La funzione Usleep () viene chiamata dopo aver eseguito la funzione Prima Date (). 5 secondi sono pari a 5000000 microsecondi. Quindi, 5000000 viene utilizzato come valore argomento Usleep () per impostare il ritardo per 5 secondi. Successivamente, la funzione Date () viene nuovamente chiamata.

// Visualizza la data e l'ora correnti
Echo Date ('d f, y h: i: s a'). "
";
// Stampa il messaggio
Echo "Aspettando 5 secondi ..
";
// ritarda l'esecuzione dello script per 5 secondi
Usleep (5000000);
// Visualizza la data e l'ora correnti
Echo Date ('d f, y h: i: s a'). "
";
?>

Produzione

Lo script aspetterà 5 secondi dopo averlo eseguito dal server. L'output mostra che lo script ha avviato l'esecuzione alle 05:32:05 e lo script è terminato alle 05:32:11. Quindi, sono passati 5 secondi prima di visualizzare l'output.

Esempio-2: uso di usleep () per aspettare tempi casuali

L'esempio seguente mostra come le funzioni Usleep () e Rand () possono essere utilizzate per impostare il ritardo per il numero casuale di volte. Crea un file PHP con il seguente script. La prima funzione di data () dello script leggerà l'orario di sistema corrente. Successivamente, la funzione Rand () viene utilizzata per generare un numero tra 1000000 e 4000000 e il valore casuale generato verrà utilizzato come valore dell'argomento della funzione Usleep (). Il numero casuale generato sarà diviso per 1000000 e utilizzato nella funzione rotonda () per ottenere il tempo di ritardo in secondi. La funzione Second Date () viene utilizzata per leggere il valore di tempo dopo l'esecuzione della funzione Usleep ().

// Visualizza l'ora corrente
Echo Date ('H: I: S A'). "
";
// Imposta il valore di microsecondi casuali
$ ritardo = rand (1000000.4000000);
// ritarda l'esecuzione dello script per secondi definiti
usleep ($ delay);
// converti i microsecondi in secondi
$ secondi = round ($ delay/1000000);
// Stampa il messaggio
Echo "Aspettando $ secondi secondi ..
";
// Visualizza l'ora corrente
Echo Date ('H: I: S A'). "
";
?>

Produzione

Secondo il seguente output, lo script ha atteso 4 secondi dopo l'esecuzione nel server. L'output mostra che lo script ha avviato l'esecuzione alle 05:35:40 e lo script ha terminato alle 05:35:44. Quindi, lo script è stato ritardato per 4 secondi.

Esempio-3: ripeti lo script dopo 2 secondi

L'esempio seguente mostra come lo stesso script può essere ripetuto dopo 2 secondi di ritardo in base alla selezione dell'utente. Crea un file HTML chiamato Form1.html con il seguente script per prendere il valore di X E N.

Form1.html




Uso della funzione Usleep ()



Immettere il valore di x:

Immettere il valore di n:




I dati del modulo verranno inviati nel file PHP denominato energia.PHP per calcolare la x alla potenza n. Creare il energia.PHP File con il seguente script. Controllerà i valori di campo del modulo HTML sono impostati o no. Se i valori vengono inviati correttamente, allora la X a Power N sarà calcolato e lo script aspetterà 2 secondi. Una scatola di allerta apparirà dopo 2 secondi. Un altro modulo con una casella di controllo sembrerà chiedere all'utente di ripetere la stessa attività dopo aver fatto clic sul pulsante OK della casella di avviso.

energia.PHP

// Controlla i valori di x e n sono impostati o no
if (ISSET ($ _ POST ['X']) && ISSET ($ _ POST ['N']))

$ flag = false;
$ x = $ _post ['x'];
$ n = $ _post ['n'];
// calcola la x alla potenza n
$ result = Pow ($ x, $ n);
// Stampa il risultato
echo "$ x al potere $ n è $ risultato
";
// Visualizza il modulo per ripetere di nuovo l'attività o no
eco '
Fare di nuovo l'attività
';
// Aspetta due secondi
Usleep (2000000);
// Visualizza l'avviso
echo "Avviso ('ha aspettato 2 secondi ...')";

altro

Se(!ISSET ($ _ POST ['OK']))
include ('Form1.html ');
altro

// Ripeti nuovamente l'attività se la casella di controllo è accesa
if (ISSET ($ _ POST ['Task']))
if ($ _ post ['task'] == 'on')
include ('Form1.html ');
altro
morire ("lo script è terminato.");

altro
morire ("lo script è terminato.");


?>

Produzione

Il seguente modulo apparirà dopo aver eseguito lo script PHP dal server. Nell'output, 4 è impostato per il valore di x e 3 è impostato per n.


Dopo aver inviato il modulo, lo script calcoleràe attendere 2 secondi prima di visualizzare la casella di avviso.

Il seguente modulo sembrerà selezionare l'opzione per visualizzare nuovamente il modulo precedente per calcolare la potenza di un altro valore di x e n Dopo aver premuto il pulsante OK.


Se l'utente preme il file OK Pulsante senza selezionare la casella di controllo, lo script verrà terminato visualizzando il seguente messaggio.

Conclusione

Quando lo script PHP richiede un ritardo per un periodo specifico per scopi di programmazione, la funzione Usleep () può essere utilizzata per eseguire l'attività. La funzione Usleep () è stata spiegata in questo tutorial usando vari esempi per aiutare i lettori a sapere come generare un ritardo nello script. Sleep () è un'altra funzione integrata di PHP da sviluppare nello script.