本文实例讲述了PHP检测用户是否关闭浏览器的方法。分享给大家供大家参考,具体如下:
1、例子1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
echo str_repeat ( " " ,3000);
ignore_user_abort(true);
mylog( 'online' );
while (true) {
/*
* 1、程序正常结束 connection_status 0
* 2、点击浏览器“停止”按钮 connection_status 1
* 3、超时 connection_status 2
*/
echo "test<br>\n" ; //注意程序一定要有输出,否则ABORTED状态是检测不到的
flush ();
sleep(1);
if (connection_status()!=0){
mylog( 'offline' );
die ( 'end the script' );
}
}
function mylog( $str )
{
$fp = fopen ( 'e:/abort.txt' , 'a' );
$str = date ( 'Y-m-d H:i:s' ). $str . "\r\n" ;
fwrite( $fp , $str );
fclose( $fp );
}
|
2.例子2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
function foo() {
$s = 'connection_status ' . connection_status();
mylog( $s );
}
register_shutdown_function( 'foo' ); //script processing is complete or when exit() is called
set_time_limit(10);
for ( $i =0; $i <10000000; $i ++)
echo $i ;
function mylog( $str )
{
$fp = fopen ( 'e:/abort.txt' , 'a' );
$str = date ( 'Y-m-d H:i:s' ). $str . "\r\n" ;
fwrite( $fp , $str );
fclose( $fp );
}
|
希望本文所述对大家PHP程序设计有所帮助。