php

Uso della funzione usleep() in PHP

Uso della funzione usleep() in PHP

In PHP vengono utilizzate principalmente due funzioni per ritardare l'esecuzione dello script per un po' di tempo. Questi sono usleep() e sleep(). La funzione usleep() viene utilizzata per ritardare l'esecuzione dello script per microsecondi specifici. Questa funzione può generare un'eccezione se viene fornito il valore dei microsecondi negativi. Questa funzione consuma il ciclo della CPU anche quando viene chiamata. Come è possibile utilizzare questa funzione in PHP è stato mostrato in questo tutorial.

Sintassi:

La sintassi di questa funzione è riportata di seguito.

void usleep (int microsecondi)

Questa funzione prende il valore dei microsecondi come argomenti della 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 usando vari esempi.

Esempio 1: utilizzo di usleep() per attendere 5 secondi

L'esempio seguente mostra come usleep() può essere usato per impostare il ritardo di 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 prima funzione date(). 5 secondi equivalgono a 5000000 microsecondi. Quindi, 5000000 viene utilizzato come valore dell'argomento usleep() per impostare il ritardo per 5 secondi. Successivamente, la funzione date() viene chiamata di nuovo.

//Visualizza la data e l'ora correnti
echo date('d F, Y h:i:s a'). "
";
//Stampa il messaggio
echo "In attesa di 5 secondi..
";
//Ritarda l'esecuzione dello script di 5 secondi
dormire(5000000);
 
//Visualizza la data e l'ora correnti
echo date('d F, Y h:i:s a'). "
";
?>

Produzione

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

Esempio 2: uso di usleep() per attendere tempi casuali

L'esempio seguente mostra come utilizzare le funzioni usleep() e rand() per impostare il ritardo per il numero casuale di volte. Crea un file PHP con il seguente script. La prima funzione date() dello script leggerà l'ora di sistema corrente. Successivamente, la funzione rand() viene utilizzata per generare un numero compreso tra 1000000 e 4000000 e il valore casuale generato verrà utilizzato come valore dell'argomento della funzione usleep(). Il numero casuale generato verrà diviso per 1000000 e utilizzato nella funzione round() per ottenere il tempo di ritardo in secondi. La seconda funzione date() viene utilizzata per leggere il valore dell'ora dopo aver eseguito la funzione usleep().

//Visualizza l'ora corrente current
echo date('h:i:s a'). "
";
//Imposta il valore dei microsecondi casuali
$ritardo = rand(1000000,4000000);
//Ritarda l'esecuzione dello script per secondi definiti
usleep($ritardo);
//Converti i microsecondi in secondi
$secondi = round($ritardo/1000000);
//Stampa il messaggio
echo "In attesa di $secondi secondi..
";
//Visualizza l'ora corrente current
echo date('h:i:s a'). "
";
?>

Produzione

Secondo il seguente output, lo script ha aspettato 4 secondi dopo l'esecuzione nel server. L'output mostra che lo script ha iniziato l'esecuzione alle 05:35:40 e lo script è terminato alle 05:35:44. Quindi, lo script è stato ritardato di 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 forma1.html con il seguente script per assumere il valore di X e n.

forma1.html




Uso della funzione usleep()



Inserisci il valore di x :

Inserisci il valore di n :




I dati del modulo verranno inviati nel file PHP denominato energia.php calcolare la x alla potenza n. Crea il energia.php file con il seguente script. Verificherà che i valori dei campi del modulo HTML siano impostati o meno. Se i valori sono inviati correttamente, la x alla potenza n verrà calcolato e lo script attenderà 2 secondi. Dopo 2 secondi apparirà una finestra di avviso. Apparirà un altro modulo con una casella di controllo per chiedere all'utente di ripetere la stessa attività dopo aver fatto clic sul pulsante OK della casella di avviso.

energia.php

//Controlla che i valori di x e n siano impostati o meno
if(isset($_POST['x']) && isset($_POST['n']))

$bandiera = falso;
$x = $_POST['x'];
$n = $_POST['n'];
//Calcola la x alla potenza n
$risultato = pow($x,$n);
//Stampa il risultato
echo "$x alla potenza $n è $risultato
";
//Visualizza il modulo per ripetere o meno l'attività
eco '
Ripeti il ​​compito
';
//Aspetta due secondi
dormire(2000000);
//Visualizza l'avviso
echo "alert('Attesa 2 secondi… ')";

altro

Se(!isset($_POST['ok']))
include('form1.html');
altro

//Ripeti di nuovo l'attività se la casella di controllo è attiva
if(isset($_POST['attività'] ))
if($_POST['attività'] == 'attivo')
include('form1.html');
altro
die("Lo script è terminato.");

altro
die("Lo script è terminato.");


?>

Produzione

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


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

Apparirà il seguente modulo per 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 tasto 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, è possibile utilizzare la funzione usleep() 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 incorporata di PHP da sviluppare nello script.

Trackpad e puntatore del mouse su schermo AppyMouse per tablet Windows
Gli utenti di tablet spesso mancano il puntatore del mouse, soprattutto quando sono abituati a usare i laptop laptop. Gli smartphone e i tablet touchs...
Il pulsante centrale del mouse non funziona in Windows 10
Il tasto centrale del mouse ti aiuta a scorrere lunghe pagine web e schermate con molti dati. Se si ferma, finirai per usare la tastiera per lo scorri...
Come cambiare i pulsanti sinistro e destro del mouse su PC Windows 10
È abbastanza normale che tutti i mouse dei computer siano progettati ergonomicamente per gli utenti destrimani. Ma sono disponibili dispositivi mouse ...