文字

connection_status

(PHP 4, PHP 5)

connection_status返回连接的状态位

说明

int connection_status ( void )

获得当前连接的状态位。

返回值

获得当前连接的状态位, 可以用于与 CONNECTION_XXX 定义的常量来确定连接状态。

参见

  • connection_aborted() - 检查客户端是否已经断开
  • ignore_user_abort() - 设置客户端断开连接时是否中断脚本的执行
  • 查看连接处理 了解PHP处理连接的详情。

用户评论:

[#1] jorge dot hebrard at gmail dot com [2009-01-26 16:01:28]

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).

[#2] Michael [2005-03-20 21:59:37]

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.

[#3] toppi at kacke dot de [2004-06-16 09:06:50]

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

上一篇: 下一篇: