Обнаружение соединения с браузером, закрытого в PHP

кто-нибудь знает, можно ли определить, закрыл ли браузер соединение во время выполнения long PHP скрипт, при использовании apache и mod_php?

например,Java на HttpOutputStream появится exception если кто-то попытается написать ему после того, как браузер закрыл его-или ответит отрицательно на checkError().

3 ответов


использовать connection_aborted ()


по крайней мере, в PHP4 connection_aborted и connection_status работали только после того, как скрипт отправил любой вывод в браузер (используя: flush() | ob_flush()). Также не ожидайте точно синхронизированных результатов.

в основном полезно проверить, есть ли еще кто-то, ожидающий на другой стороне.


http://nz.php.net/register-shutdown-function

вероятно, менее сложно, если вы просто хотите, чтобы скрипт умирал и обрабатывал его, когда пользователь завершает работу.

(т. е.: если бы это был длительный поиск, это сэкономило бы вам кучу циклов работы )