PHP检测用户是否关闭浏览器的方法

yipeiwu_com5年前PHP代码库

本文实例讲述了PHP检测用户是否关闭浏览器的方法。分享给大家供大家参考,具体如下:

1、例子1

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

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相关内容感兴趣的读者可查看本站专题:《PHP基本语法入门教程》、《PHP错误与异常处理方法总结》及《php常用函数与技巧总结

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP字符串中特殊符号的过滤方法介绍

有时候我们会遇到过滤字符串中特殊字符的问题,本文提供了一个处理特殊字符串的方法,可能有遗漏,如果读者发现了可以留言告诉我,谢谢。复制代码 代码如下:function strFilter(...

php 移除数组重复元素的一点说明

如:复制代码 代码如下:$test_array=array(1,2,3,4,4,5,5,6); $test_array_unique=array_unique($test_array);...

php引用和拷贝的区别知识点总结

对于值传递和引用传递,书本上的解释比较繁琐,而php面试中总会出现,下面我会通过一个生活的例子带大家理解它们之间区别。 第一步 假设我们去酒店订房间,我们把酒店的门牌号比作变量名,我们把...

thinkphp在低版本Nginx 下支持PATHINFO的方法分享

最近在用thinkphp做一个项目,基本完成后部署到nginx服务器上才发觉nginx是不支持pathinfo的那么我们如何来处理呢。 Nginx环境 在Nginx低版本中,是不支持PA...

php利用反射实现插件机制的方法

本文实例讲述了php利用反射实现插件机制的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下:<?php /**  * @name &n...