DETECTAR CUANDO UNA PAGINA SE HA DEJADO DE EJECUTAR EN PHP
PHP
Supongamos que tenemos una página web y por un casual el usuario cierra la página o detiene el proceso y queremos detectarlo para así cerrar conexiones, finalizar procesos y que no queden a medias. Hay una manera de detectar cuando una página se ha dejado de ejecutar en php y es con la función ignore_user_abort que establece si la desconexión de un cliente debería abortar la ejecución del script y con la función connection_status que devuelve el estado de la conexión. Los estados posibles son:
- CONNECTION_NORMAL cuyo valor es 0
- CONNECTION_ABORTED cuyo valor es 1
- CONNECTION_TIMEOUT cuyo valor es 2
ignore_user_abort(true);
set_time_limit(0);
while(1)
{
flush();
ob_flush();
//El usuario cierra la pagina o detiene el proceso o falla la ejecución
if(connection_status() != CONNECTION_NORMAL)
{
//Operaciones a realizar
break;
}
}