本文转自: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实现当前用户在线人数相关推荐

  1. [JavaWeb]基于litener的在线人数统计,通过统计ip地址和用户名信息,来获取用户在线人数

    思考:不可以通过sessionid来统计用户在线人数,因为session的作用域仅仅在一个浏览器上,换一个浏览器就会产生不同的sessionid.所以考虑使用ip地址来统计用户在线人数. 参考博客: ...

  2. 实时用户在线人数统计(一):表统计

    在项目中有时候需要统计实时在线人数,在我过往的项目中,主要实施过以下几种方案,现在一一来说明下: 1)表统计:用数据表统计在线人数,缺点是当并发量大的时候可能造成性能瓶颈,如无特别大的并发的时候完全可 ...

  3. 实时用户在线人数统计(三):hyperloglog

    跟有序集合方式不同,hyperloglog十分节约空间,但是实现的功能也非常单一,只能统计在线人数,不能实现其余的任何功能. Redis 在 2.8.9 版本添加了 HyperLogLog 结构. R ...

  4. 实时用户在线人数统计(二):redis有序集合

    可以用Redis的有序集合存储用户信息,来实现实时在线人数统计. 注:以下只为设计思路,代码均为模拟代码,不可作为正式项目使用.代码使用的laravel框架. redis有序集合实现在线人数统计 // ...

  5. 统计网站用户在线人数

    问题: 一个网站如何统计自己用户(这里的用户包含游客)的在线人数? 分析: 首先,我遇见问题喜欢先分析下思路. 用什么技术,可以监听用户访问服务器?  (监听器) 用那些技术,可以实时的存储每次登陆服 ...

  6. 如何统计每个小时用户在线人数?

    系统有一个表记录用户登录.登出的日志,现在以一个小时为段,统计出在线人数,这是一个数学问题. 情况1: |___________一个小时____________| <=登录时间         ...

  7. ASP.NET MVC5+EF6+EasyUI 后台管理系统(39)-在线人数统计探讨

    系列目录 基于web的网站在线统计一直处于不是很精准的状态!基本上没有一种方法可以确实的统计在线用户! Discuz!NT 在线用户功能算是做得比较好的!参考资料 他的原理大致是根据用户的操作间隔来确 ...

  8. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(39)-在线人数统计探讨

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(39)-在线人数统计探讨 系列目录 基于web的网站在线统计一直处于不是很精准的状态!基本上没有一种方法可 ...

  9. Discuz!NT 在线用户功能简介

    声明:本文内容纯属个人观点,官方保留最终解释 在上文(Discuz!NT URL地址重写) 中, 聊到了"在线用户"功能,因为当时介绍的重点不是"在线" 那一块 ...

最新文章

  1. 国内外好用的协同办公软件有哪些?
  2. 背胶磁条、磁带初步磁场分布
  3. dev c++ 最新版本5.0
  4. Java使用Jdbc操作MySql数据库(一)
  5. Hibernate一个简单实例的各种坑
  6. 严苛模式(StrictMode)
  7. 【JavaScript】请求数据时,添加时间戳,避免浏览器缓存
  8. CF1208F Bits And Pieces(未解决)
  9. opencv:卷积涉及的基础概念,Sobel边缘检测代码实现及Same(相同)填充与Vaild(有效)填充
  10. windows下集成maven+eclipse开发环境二:集成maven到eclipse,并使用nexus作为maven仓库...
  11. 【lucene】lucene自定义 filter
  12. 如何修改layui数据表格绑定的开关事件?
  13. 提高Visio制图效率的小技巧——Visio制图总结
  14. 南天打印机(NANTIAN PR2)配合税控机安装
  15. CodeBlock 基本使用
  16. pycharm社区版创建flask项目
  17. WPS mac怎么取消自动首字母大写
  18. ERA5气象数据 :数据中相对湿度、边界层高度、温度、风向、地面气压等参数下载详细教程
  19. 一文解释Micro-F1, Macro-F1,Weighted-F1
  20. 2022年注册会计师考试《财务成本管理》考前练习题及答案

热门文章

  1. python importlib_importlib --- import 的实现 — Python 3.10.0a2 文档
  2. STM32F1笔记(五)外部中断EXTI
  3. 什么是ACID理论(二阶段、三阶段提交、TCC)
  4. c语言软件幻化,python字符串处理
  5. C++类模板实例化条件
  6. Linux下多线程模拟停车场停车
  7. 【Leetcode | 12】342. 4的幂
  8. Makefile (二)
  9. Java-进阶:Java-File--IO—1
  10. 组件化与插件化的差别在哪里?附面试题答案