phpユーザーがブラウザを閉じるかどうかを検出
4118 ワード
1、例1
2.例2
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
"; // , 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
";
fwrite($fp, $str);
fclose($fp);
}
2.例2
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
";
fwrite($fp, $str);
fclose($fp);
}