(PHP 4, PHP 5)
ignore_user_abort — クライアントの接続が切断された際にスクリプトの実行を終了するかどうかを設定する
クライアントの接続が切断された際にスクリプトの実行を終了するかどうかを設定します。
省略した場合は、この関数は単に現在の設定を返します。
以前の設定を表す boolean 値を返します。
例1 ignore_user_abort() の例
<?php
// ユーザによる中断を無視し、
// スクリプトを永遠に実行させます
ignore_user_abort();
set_time_limit(0);
echo 'PHP における接続ハンドリングのテスト';
// 無意味なループを繰り返します。
// きっと誰かが他のページに移動したり
// "中止" ボタンを押したりしてくれるでしょう
while(1)
{
// 接続失敗?
if(connection_status() != CONNECTION_NORMAL)
{
break;
}
// 10 秒間お休み
sleep(10);
}
// ここに到達したということは、while ループ内で
// 'break' が実行されたのでしょう
// ここで、ログを記録したりなどの必要な処理を行います
// これは、ブラウザに依存せずに行えます
?>
PHP は、クライアントに情報が返ってくるまでは ユーザが切断しようとしたかどうかを検出できません。 単に echo 文を使っただけでは、情報が送信されたかどうかを保証できません。 flush() を参照ください。