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检测用户是否关闭浏览器的方法的更多相关文章
- 后端判断用户是否关闭浏览器(关闭网站相关的全部tab)
一)程序步骤 1.js 写一个定时请求后端(php),后端接收到请求到,把当前时间戳写入文件 2.php 阻塞,这里我写的是 30 秒,也就是 sleep(30) 3.获取当前时间和文件里的时间作比较 ...
- ASP.NET防止用户多次登录的方法
常见的处理方法是,在用户登录时,判断此用户是否已经在Application中存在,如果存在就报错,不存在的话就加到Application中(Application是所有Session共有的,整个web ...
- Asp.net中防止用户多次登录的方法
在web开发时,有的系统要求同一个用户在同一时间只能登录一次,也就是如果一个用户已经登录了,在退出之前如果再次登录的话需要报错. 常见的处理方法是,在用户登录时,判断此用户是否已经在Applicati ...
- Selenium 3----窗口截图+关闭浏览器
窗口截图 get_screenshot_as_file() 自动化用例是由程序执行的,因此有时候打印的错误信息并不十分明确.如果在脚本执行出错的时候能对当前窗口截图保存,那么通过图片就可以非常直观地看 ...
- JS 实现关闭浏览器
$('#exitSystem').on('click',function(){ if(confirm("确定要退出系统并关闭浏览器吗?")){ //关闭浏览器的方法只适用i ...
- adblockTester通过js检测用户浏览器是否安装了AdBlock
adblockTester 简介 首先有必要介绍一下AdBlock,它是一款知名网页广告屏蔽插件,在各大主流浏览器上均有AdBlock插件. AdBlock为用户带来了一片蓝天,却苦了站长,尤其是苦逼 ...
- 当执行php脚本时用户关闭浏览器会发生什么?
2008年8月16日 1,152 views 发表评论 阅读评论 如果一段php脚本执行插入数据到mysql的操作. 一般情况下,由于php脚本在服务器上执行,此时用户虽然关闭了浏览器,但是服务器端的 ...
- js+jquery检测用户浏览器型号(包括对360浏览器的检测)
做网站,js检测用户浏览器的版本,是经常要使用到,今天自己写了一个js,完成了对于一些常见浏览器的检测,但是,偏偏对于360浏览器的检测没有任 何办法,研究了一会儿,无果.无论是360安全浏览器,还是 ...
- php:检测用户当前浏览器是否为IE浏览器
/** * 检测用户当前浏览器 * @return boolean 是否ie浏览器 */ function chk_ie_browser() { $userbrowser = $_SERVER['HT ...
- javascript的window.ActiveXObject对象,区别浏览器的方法
(window.ActiveXObject)的作用,用来判断浏览器是否支持ActiveX控件,如果支持ActiveX控件,我们可以利用var xml=new ActiveXObject("M ...
随机推荐
- MatLab R2023a 安装激活
解压 下载压缩包后解压得到以下内容: Setup文件夹里面存放的是 安装包,用于安装MatLab Crack文件夹里面存放的是 激活文件,包括libmwlmgrimpl.dll,license.lic ...
- 【转载】理解分布式id生成算法SnowFlake
分布式id生成算法的有很多种,Twitter的SnowFlake就是其中经典的一种. https://segmentfault.com/a/1190000011282426 概述 SnowFlake算 ...
- 【转载】Spring Cloud Gateway-路由谓词工厂详解(Route Predicate Factories)
http://www.imooc.com/article/290804 TIPS 本文基于Spring Cloud Greenwich SR2编写,兼容Spring Cloud Finchley及更高 ...
- Qt编写安防视频监控系统55-布局方案
一.前言 这是近期对视频监控系统做得最大的改动,采用了QMainWindow停靠窗体悬停窗体,极大的增强了拓展性,主界面中的各种小模块全部采用了悬停模块,最后不同的工作模式.不同的运行状态(全屏状态. ...
- Qt音视频开发46-视频传输UDP版
一.前言 上篇文章写道采用的TCP传输视频,优缺点很明显,优点就是不丢包,缺点就是速度慢,后面换成UDP通信,速度快了很多,少了3次握手,而且在局域网中基本上不丢包,就算偶尔丢包,对于一秒钟25-30 ...
- Visual Studio2012编译C#项目时出错“LC.exe”已退出的解决方法
症状: Visual Studio2012编译C#项目时出错"LC.exe"已退出,代码为 -1. 原因: 因为证书的原因,把项目中"properties"目录 ...
- 携程技术分享:亿级流量的办公IM及开放平台技术实践
本文由携程技术Jim分享,原题"日访问过亿,办公IM及开放式平台在携程的实践",下文进行了排版和内容优化. 1.引言 携程内部的办公IM项目最早在2016年立项,经历了初期简单办公 ...
- RL中on-policy和off-policy的本质区别/重要性采样
本随笔的图片都来自UCL强化学习课程lec5 Model-free prediction的ppt (Teaching - David Silver ). 回忆值函数的表达式: \[v_\pi(s) = ...
- 数字世界中的纸张——理解 PDF (转载)
转载自 https://type.cyhsu.xyz/2018/09/understanding-pdf-the-digitalized-paper/ 引言 PDF 是我们打交道最多的文件格式之一.提 ...
- docker中创建容器时文件挂载和端口映射命令与首次登录官方mysql的参数
docker run -itd --name nginx-08 -v /local_data2:/data/nginx/html -p 12000:80 nginx:1.18.0 docker ru ...