Rileva la connessione del browser chiusa in PHP
Domanda
Qualcuno sa se è possibile rilevare se il browser ha chiuso la connessione durante l'esecuzione di un long PHP
script, quando si utilizza apache
E mod_php
?
Ad esempio, nel Java
, IL HttpOutputStream
lancerà un exception
se si tenta di scriverci dopo che il browser lo ha chiuso - Oppure si risponderà negativamente checkError()
.
Soluzione
Utilizzo connessione_interrotta()
Altri suggerimenti
Almeno in PHP4, Connection_aborted e Connection_status funzionavano solo dopo che lo script inviava un output al browser (utilizzando:flush () | ob_flush ()).Inoltre, non aspettarti risultati tempestivi.
È utile soprattutto per verificare se c'è ancora qualcuno che aspetta dall'altra parte.
http://nz.php.net/register-shutdown-function
Probabilmente meno complicato se vuoi semplicemente che uno script muoia e gestirlo quando un utente termina.
( Cioè:se fosse una ricerca lunga, questo ti farebbe risparmiare un sacco di cicli di operazioni)