connection_status

(PHP 4, PHP 5, PHP 7)

connection_status接続ステータスのビットフィールドを返す

説明

connection_status ( void ) : int

接続ステータスのビットフィールドを取得します。

返り値

接続ステータスのビットフィールドを返します。これを定数 CONNECTION_XXX と比較することで、接続の状態を判断できます。

参考

  • connection_aborted() - クライアントとの接続が切断されているかどうかを調べる
  • ignore_user_abort() - クライアントの接続が切断された際にスクリプトの実行を終了するかどうかを設定する
  • PHP における接続処理についての説明は 接続処理

add a note add a note

User Contributed Notes 3 notes

up
25
toppi at kacke dot de
14 years ago
Notice !

if you running a loop (while, foeach etc..)  you have to send something to the browser to check the status.

Example:

while(1){
    if (connection_status()!=0){
    die;
    }
}
doesnt work, if the user break/close the browser.

But a:

while(1){
    Echo "\n"; //<-- send this to the client
    if (connection_status()!=0){
    die;
    }
}
will work :)

i hope it will help some of you to safe some time :)

Toppi
up
-3
Michael
13 years ago
Yes it is true. I made some experiments with that functions 'connection_abortes()'. First a source made an error, which I see. They wrote: ignore_user_abort();

But that only gives you the status of the 'Abort-Setting'.
So I try (with little hope)
  'ignore_user_abort(true);'
And as I readout the setting it has changed it...

Next I see that the script runs after I disconnect with the site. But other experiments fail. I try some things and then it
was logical after an experiment: flush() is one of the necessary things. Without those output to the client the function
          'connection_aborted()' stays on 'false'
The Second is that you have to output something. Without that it also doesn't works.
So I now know that you have to echo something and then output the buffer. Only then 'the Script' (or the function)
'knows' that the client is disconnected.
up
-10
jorge dot hebrard at gmail dot com
10 years ago
You can always send chr(0) to check if browser is still alive, that will show no output in browser page (at least in Firefox).
To Top