利用php比较精确的统计在线人数的办法
利用php比较精确的统计在线人数的办法,注意这里所说的精确是指个数,如果需要精确在时间上,则需要根据实际情况调整代码中的有效时间。(自己没有写,从别人那拿过来的,先放着然后再研究) <?php//author:www.scutephp.com$filename='online.txt';//数据文件$cookiename='VGOTCN_OnLineCount';//cookie名称$onlinetime=600;//在线有效时间,单位:秒 (即600等于10分钟) $online=file($filename);//PHP file() 函数把整个文件读入一个数组中。与 file_get_contents() 类似,不同的是 file() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。如果失败,则返回 false$nowtime=$_SERVER['REQUEST_TIME'];$nowonline=array();//得到仍然有效的数据foreach($online as $line){$row=explode('|',$line);$sesstime=trim($row[1]);if(($nowtime - $sesstime)<=$onlinetime){//如果仍在有效时间内,则数据继续保存,否则被放弃不再统计$nowonline[$row[0]]=$sesstime;//获取在线列表到数组,会话ID为键名,最后通信时间为键值}}/*@创建访问者通信状态使用cookie通信COOKIE 将在关闭浏览器时失效,但如果不关闭浏览器,此 COOKIE 将一直有效,直到程序设置的在线时间超时*/if(isset($_COOKIE[$cookiename])){//如果有COOKIE即并非初次访问则不添加人数并更新通信时间$uid=$_COOKIE[$cookiename];}else{//如果没有COOKIE即是初次访问$vid=0;//初始化访问者IDdo{//给用户一个新ID$vid++;$uid='U'.$vid;}while(array_key_exists($uid,$nowonline));setcookie($cookiename,$uid);}$nowonline[$uid]=$nowtime;//更新现在的时间状态//统计现在在线人数$total_online=count($nowonline);//写入数据if($fp=@fopen($filename,'w')){if(flock($fp,LOCK_EX)){rewind($fp);foreach($nowonline as $fuid=>$ftime){$fline=$fuid.'|'.$ftime."\n";@fputs($fp,$fline);}flock($fp,LOCK_UN);fclose($fp);}}echo 'document.write("'.$total_online.'");';
转载于:https://www.cnblogs.com/-lin/p/6129146.html
利用php比较精确的统计在线人数的办法相关推荐
- php自动计数,PHP 实现精确统计在线人数功能
有需要学习交流的友人请加入交流群的咱们一起,有问题一起交流,一起进步!前提是你是学技术的.感谢阅读! PHP对session对象的封装的很好,根据HTTP协议,每个范围网站的访客都可以生成一个唯一的标 ...
- PHP 实现精确统计在线人数功能
PHP对session对象的封装的很好,根据HTTP协议,每个范围网站的访客都可以生成一个唯一的标识符 这个就是统计在线人数的关键所在,只有有这个session_id 也就可以区分访问的人了.因为每一 ...
- PHP实现精确统计在线人数功能
PHP对session对象的封装的很好,根据HTTP协议,每个范围网站的访客都可以生成一个唯一的标识符 1 2 echo session_id(); //6ed364143f076d136f404ed ...
- java程序利用HttpSessionListener实现统计在线人数(示例代码)
HttpSessionListener是个session监听器,它有两个方法:publicvoidsessionCreated(HttpSessionEventevent){}和publicvoids ...
- html页面统计在线人数,统计在线人数couter
如何运用内置对象session和application对象实现统计在线人数 首先创建一个全局应用程序类Global.asax protected void Application_Start 这几 ...
- 统计在线人数、每日访问人数和总人数
统计在线人数.每日访问人数和总人数 这个程序难一点,特点在于,因为他是分别的传送每个图片,所以不像CGI产生的图片那样大.而且图片可以重复的利用所以较率高速度快.只是没有JavaScript就不行了. ...
- Java如何实现统计在线人数的功能?
很多人在笔试或者面试中问到:现在要你实现一个统计在线人数的功能,你该怎么设计? 不知道的朋友,这篇文章告诉你. 先说答案:可以利用监听器Listener来实现 目录 1. 监听器的简介 2. Java ...
- Excel:Excel使用技巧经验总结之(利用Excel自带功能统计各个字段不同类别及其个数并进行图表可视化+非编程实现)图文教程之详细攻略
Excel:Excel使用技巧经验总结之(利用Excel自带功能统计各个字段不同类别及其个数并进行图表可视化+非编程实现)图文教程之详细攻略 目录 利用Excel自带筛选功能统计各个字段不同类别及其个 ...
- session监听器统计在线人数存入数值后不能取出其值
session监听器统计在线人数存入数值后不能取出其值 首先这是一个在线统计人数的需求,给大家看看我的代码 监听器的类: import javax.servlet.annotation.WebList ...
最新文章
- MySql按日期进行统计(前一天、本周、某一天)[转载]
- Lifting Transformer: 基于跨步卷积Transformer的高效三维人体姿态估计
- Linux内核高端内存
- 一文学会设置 Jupyter 主题与目录
- 若川知乎问答:2年前端经验,做的项目没什么技术含量,怎么办?
- 【转发】响应式Web设计?怎样进行?
- 网页中嵌入JavaScript+事件触发程序
- ElasticSearch外部版本控制
- 数据结构与算法之单链表
- Go Web开发之Revel - 返回值
- 临近毕业,查降重来了
- stm32万年历流程图_基于 STM32 RTC的万年历
- windows复制文件命令Xcopy
- android 小球移动,android studio滑动小球移动
- apache如何支持php,apache支持php吗
- 火水风四种元素平衡 ABCD四个相等
- 微信公众号分享配置无效。。分享出来的只是纯链接了,如何自定义微信公众号的分享
- php jws 数据签名,JSON Web Signature 规范解析
- 计算机之网络基础 7层网络模型总结
- python 标准输入设备,实时获取MIDI设备的输入(Python)
热门文章
- 线程安全的单例模式的几种实现方法分享
- Android LayoutInflater详解
- 《超越想象——Windows_8应用设计与开发》
- Expression: _CrtIsValidHeapPointer(pUserData)
- monkeyrunner环境配置
- Android_设备隐私获取,忽略6.0权限管理
- 2011年排名前七位的Linux操作系统。
- EditText / This text field does not specify an inputType or a hint
- Linux添加/删除用户和用户组
- 【转】VS2008制作打包程序将安装路径写入注册表