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中文件缓存转内存缓存的方法

前言 顾名思义文件缓存转内存缓存就是将存储在文件中的数据转到内存中去,实现磁盘操作转为内存操作,这样可以大大提高数据访问速度,并能实现缓存数据的分布式部署。文件缓存与内存缓存的介绍请参考...

mayfish 数据入库验证代码

一般在把数据写入数据库之前,先对将要写入的数据进行校验,可以避免出现比较严重的安全问题(例如一般性的SQL注入攻击)。 mayfish 可以灵活的自定义将要执行写入的数据内容的校验规则,...

php 策略模式原理与应用深入理解

本文实例讲述了php 策略模式原理与应用。分享给大家供大家参考,具体如下: 策略模式 简单理解就是 有n个做法供你选择,根据你的需要选择某个策略得到结果 就应用场景来说: 例1:比如购买...

php+ajax简单实现全选删除的方法

本文实例讲述了php+ajax简单实现全选删除的方法。分享给大家供大家参考,具体如下: <input type="checkbox" id="ckb_selectAll" on...

PHP中加密解密函数与DES加密解密实例

本文实例讲述了PHP中加密解密函数与DES加密解密的应用,分享给大家供大家参考。具体如下: 例子,php加密解密的例子 加密函数: 复制代码 代码如下:/* *功能:对字符串进行加密处理...