Looking at this PHP Man page:
You can decide whether or not you want a client disconnect to cause your script to be aborted. Sometimes it is handy to always have your scripts run to completion even if there is no remote browser receiving the output. The default behaviour is however for your script to be aborted when the remote client disconnects. This behaviour can be set via the
ignore_user_abortphp.ini directive as well as through the corresponding
php_value ignore_user_abort Apache
httpd.confdirective or with the
ignore_user_abort()function. If you do not tell PHP to ignore a user abort and the user aborts, your script will terminate.
The one exception is if you have registered a shutdown function using
register_shutdown_function(). With a shutdown function, when the remote user hits his STOP button, the next time your script tries to output something PHP will detect that the connection has been aborted and the shutdown function is called. This shutdown function will also get called at the end of your script terminating normally, so to do something different in case of a client disconnect you can use the
connection_aborted()function. This function will return
TRUEif the connection was aborted.