2008-09-17 9 views
6

PHPスクリプトの実行中にブラウザが接続を終了したかどうかを知ることができますか?apacheおよびmod_phpを使用している場合、PHPでブラウザの接続を検出しました

1は、ブラウザがそれを閉じた後に書き込みしようとした場合たとえば、Javaで、HttpOutputStreamexceptionをスローします - またはcheckError()に否定応答します。

答えて

7
+0

データを出力していてもFedora22、PHP 5.6.12、ignore_user_abort(false)では動作しません。 – sivann

1

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

はおそらくそれほど複雑使用あなただけのスクリプトが死ぬと、ユーザーが終了したときにそれを処理したい場合。少なくともPHP4では、(それは長い検索した場合、これはあなたに動作サイクルの束を救うIE)

2

、スクリプトがブラウザ(使用して任意の出力を送信した後connection_abortedとCONNECTION_STATUSだけ働い

: flush()| ob_flush()) 正確なタイミングの結果も期待しないでください。

もう一方の側でまだ待っている人がいるかどうかを確認することは、大変便利です。

+0

'誰かがまだ相手が待っているかどうかを確認するのが最も有用です。':どうですか? – cYrus

+0

どのように: "エコー"何か、またはヘッダー()、 を呼び出すと、HTTPクライアントがまだ "聞いている"か多分タイムアウトするかどうかを判断するためにconnection_aborted()を得ることができます。 – Willem

関連する問題