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

yipeiwu_com6年前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数组函数序列之rsort() - 对数组的元素值进行降序排序

rsort()定义和用法 rsort() 函数对数组的元素按照键值进行逆向排序。与 arsort() 的功能基本相同。 注释:该函数为 array 中的单元赋予新的键名。这将删除原有的键...

php单件模式结合命令链模式使用说明

php单件模式结合命令链模式使用说明

可能对于部分人来说,文章内容过于浅显,这是送给初学者的教程,因为时间比较紧(要陪老婆逛街,呵呵),其中出现了设计不规范的,代码书写不规范的,bug等等还望各路大侠指出来,方便大家共同进步...

php中ftp_chdir与ftp_cdup函数用法

本文实例讲述了php中ftp_chdir与ftp_cdup函数用法。分享给大家供大家参考。具体用法如下: ftp_chdir()函数 若成功,则返回 true,否则返回 false,如果...

php-accelerator网站加速PHP缓冲的方法

http://php-accelerator.co.uk/ 可以下载,是zend的强劲对手。是免费的。我已经在用啦。效果还不错。 修改 PHP.ini 加上...

thinkphp autoload 命名空间自定义 namespace

thinkphp autoload 命名空间自定义 namespace

使用thinkPHP过程中,一些自定义的类库和第三方类库需要找一个合适的位置放置,放到系统默认的org文件夹感觉不太好,破坏了thinkPHP的原生目录。 就看了一下官方手册,可以在模块...