PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

ignore_user_abort - クライアントの接続が切断された際にスクリプトの実行を終了するかどうかを設定する | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

ignore_user_abort

(PHP 4, PHP 5, PHP 7)

ignore_user_abortクライアントの接続が切断された際にスクリプトの実行を終了するかどうかを設定する

説明

int ignore_user_abort ([ bool $value ] )

クライアントの接続が切断された際にスクリプトの実行を終了するかどうかを設定します。

PHP をコマンドラインスクリプトとして実行していて スクリプトを終了させずに tty が消えた場合は、 次に何かを書こうとしたときにスクリプトが終了します。これは valueTRUE に設定されていても同じです。

パラメータ

value

指定すると、この関数は ini 項目 ignore_user_abortvalue の値を設定します。 省略した場合、この関数は前の設定をそのまま返し、何も変更しません。

返り値

以前の設定を表す integer 値を返します。

例1 ignore_user_abort() の例

<?php
// ユーザーによる中断を無視し、
// スクリプトを永遠に実行させます
ignore_user_abort(true);
set_time_limit(0);

echo 
'PHP における接続ハンドリングのテスト';

// 無意味なループを繰り返します。
// きっと誰かが他のページに移動したり
// "中止" ボタンを押したりしてくれるでしょう
while(1)
{
    
// 接続失敗?
    
if(connection_status() != CONNECTION_NORMAL)
    {
        break;
    }

    
// 10 秒間お休み
    
sleep(10);
}

// ここに到達したということは、while ループ内で
// 'break' が実行されたのでしょう

// ここで、ログを記録したりなどの必要な処理を行います
// これは、ブラウザに依存せずに行えます
?>

注意

PHP は、クライアントに情報を送信しない限り ユーザーが接続を切断したかどうかを検出できません。 単に echo 文を使っただけでは、情報が送信されたかどうかを保証できません。 flush() を参照ください。

参考


忘却曲線を使ってこの関数を確実に記憶に残す

フォーラムで「ignore_user_abort - クライアントの接続が切断された際にスクリプトの実行を終了するかどうかを設定する」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | ignore_user_abort - クライアントの接続が切断された際にスクリプトの実行を終了するかどうかを設定する」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: