W3docs

connection_timeout()

La funzione connection_timeout() in PHP verifica se il browser del client ha terminato la connessione al server web per timeout.

connection_aborted()

Introduzione alla funzione connection_aborted()

La funzione connection_aborted() in PHP viene utilizzata per verificare se il client ha interrotto la connessione al server web. Si noti che questa funzione funziona solo con le SAPI per server web (come Apache o Nginx) e non è disponibile nella SAPI CLI. È particolarmente utile negli script a lunga esecuzione o nei processi batch in cui la disconnessione del client dovrebbe interrompere l'esecuzione. A differenza dei timeout lato server, questa funzione rileva specificamente quando il browser del client o uno script chiude la connessione in modo prematuro.

Utilizzo della funzione connection_aborted()

La funzione connection_aborted() restituisce un valore boolean (true o false). Quando valutata numericamente, true corrisponde a 1 (indica che il client ha interrotto la connessione), mentre false corrisponde a 0 (indica che la connessione è ancora attiva).

Esempio di utilizzo della funzione connection_aborted()

Ecco un esempio di come la funzione connection_aborted() può essere utilizzata in PHP:

<?php

// Typically used in long-running scripts or loops to detect client disconnection
if (connection_aborted()) {
  // Clean up resources or stop processing
  // e.g., close open files, release locks, or log the disconnection event
} else {
  // Continue normal execution
}

In questo esempio, la funzione connection_aborted() viene chiamata per verificare se il client ha interrotto la connessione, e il valore restituito viene utilizzato per determinare quale azione intraprendere.

Per gli script a lunga esecuzione, viene comunemente utilizzata all'interno di un ciclo per interrompere l'esecuzione anticipatamente:

<?php
$processing = true;

while ($processing) {
  // Perform a chunk of work
  do_work();

  // Check if the client has disconnected
  if (connection_aborted()) {
    $processing = false; // Break the loop early
  }
}
?>

Conclusione

In conclusione, la funzione connection_aborted() in PHP può essere utile per verificare se il client ha interrotto la connessione e per intraprendere l'azione appropriata in base allo stato della connessione.

Esercizio

Pratica
Qual è il modo corretto per impostare un timeout di connessione in PHP?
Qual è il modo corretto per impostare un timeout di connessione in PHP?
Was this page helpful?