php实现当前用户在线人数
本文转自:http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2010/0508/4462.html
原理:根据不同的IP统计出当前有多少人在线。
实现方式:可以用数据库,也可以用文本。
我这里用了文本实现。
<?php
/**
*@ Date 2010.04.07
*@ Author 华夏之星 PHP100.com
*@ Blog http://hi.baidu.com/woaidelphi/blog
*/
$user_online = "count.php"; //保存人数的文件
touch($user_online);//如果没有此文件,则创建
$timeout = 30;//30秒内没动作者,认为掉线
$user_arr = file_get_contents($user_online);
$user_arr = explode('#',rtrim($user_arr,'#'));print_r($user_arr);
$temp = array();
foreach($user_arr as $value){
$user = explode(",",trim($value));
if (($user[0] != getenv('REMOTE_ADDR')) && ($user[1] > time())) {//如果不是本用户IP并时间没有超时则放入到数组中
array_push($temp,$user[0].",".$user[1]);
}
}
array_push($temp,getenv('REMOTE_ADDR').",".(time() + ($timeout)).'#'); //保存本用户的信息
$user_arr = implode("#",$temp);
//写入文件
$fp = fopen($user_online,"w");
flock($fp,LOCK_EX); //flock() 不能在NFS以及其他的一些网络文件系统中正常工作
fputs($fp,$user_arr);
flock($fp,LOCK_UN);
fclose($fp);
echo "当前有".count($temp)."人在线";
?>
转载于:https://www.cnblogs.com/crazyant/archive/2011/02/23/2823790.html
php实现当前用户在线人数相关推荐
- [JavaWeb]基于litener的在线人数统计,通过统计ip地址和用户名信息,来获取用户在线人数
思考:不可以通过sessionid来统计用户在线人数,因为session的作用域仅仅在一个浏览器上,换一个浏览器就会产生不同的sessionid.所以考虑使用ip地址来统计用户在线人数. 参考博客: ...
- 实时用户在线人数统计(一):表统计
在项目中有时候需要统计实时在线人数,在我过往的项目中,主要实施过以下几种方案,现在一一来说明下: 1)表统计:用数据表统计在线人数,缺点是当并发量大的时候可能造成性能瓶颈,如无特别大的并发的时候完全可 ...
- 实时用户在线人数统计(三):hyperloglog
跟有序集合方式不同,hyperloglog十分节约空间,但是实现的功能也非常单一,只能统计在线人数,不能实现其余的任何功能. Redis 在 2.8.9 版本添加了 HyperLogLog 结构. R ...
- 实时用户在线人数统计(二):redis有序集合
可以用Redis的有序集合存储用户信息,来实现实时在线人数统计. 注:以下只为设计思路,代码均为模拟代码,不可作为正式项目使用.代码使用的laravel框架. redis有序集合实现在线人数统计 // ...
- 统计网站用户在线人数
问题: 一个网站如何统计自己用户(这里的用户包含游客)的在线人数? 分析: 首先,我遇见问题喜欢先分析下思路. 用什么技术,可以监听用户访问服务器? (监听器) 用那些技术,可以实时的存储每次登陆服 ...
- 如何统计每个小时用户在线人数?
系统有一个表记录用户登录.登出的日志,现在以一个小时为段,统计出在线人数,这是一个数学问题. 情况1: |___________一个小时____________| <=登录时间 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(39)-在线人数统计探讨
系列目录 基于web的网站在线统计一直处于不是很精准的状态!基本上没有一种方法可以确实的统计在线用户! Discuz!NT 在线用户功能算是做得比较好的!参考资料 他的原理大致是根据用户的操作间隔来确 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(39)-在线人数统计探讨
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(39)-在线人数统计探讨 系列目录 基于web的网站在线统计一直处于不是很精准的状态!基本上没有一种方法可 ...
- Discuz!NT 在线用户功能简介
声明:本文内容纯属个人观点,官方保留最终解释 在上文(Discuz!NT URL地址重写) 中, 聊到了"在线用户"功能,因为当时介绍的重点不是"在线" 那一块 ...
最新文章
- 国内外好用的协同办公软件有哪些?
- 背胶磁条、磁带初步磁场分布
- dev c++ 最新版本5.0
- Java使用Jdbc操作MySql数据库(一)
- Hibernate一个简单实例的各种坑
- 严苛模式(StrictMode)
- 【JavaScript】请求数据时,添加时间戳,避免浏览器缓存
- CF1208F Bits And Pieces(未解决)
- opencv:卷积涉及的基础概念,Sobel边缘检测代码实现及Same(相同)填充与Vaild(有效)填充
- windows下集成maven+eclipse开发环境二:集成maven到eclipse,并使用nexus作为maven仓库...
- 【lucene】lucene自定义 filter
- 如何修改layui数据表格绑定的开关事件?
- 提高Visio制图效率的小技巧——Visio制图总结
- 南天打印机(NANTIAN PR2)配合税控机安装
- CodeBlock 基本使用
- pycharm社区版创建flask项目
- WPS mac怎么取消自动首字母大写
- ERA5气象数据 :数据中相对湿度、边界层高度、温度、风向、地面气压等参数下载详细教程
- 一文解释Micro-F1, Macro-F1,Weighted-F1
- 2022年注册会计师考试《财务成本管理》考前练习题及答案