夜鹰教程网-程序员的加油站
 当前位置:文章中心 >> 人工智能【AI】
PHP+AJAX实现实时显示在线用户信息
夜鹰教程网 来源:www.yyjcw.com 日期:2016-11-19 15:17:22
PHP+AJAX实现实时显示在线用户信息

我现在的博客就使用了这种方法来显示的在线用户信息的,但是觉得开销太大了!负载能力不太好!如果小型的站点足够用了!

我的博客用的Jquery框架,当然Ajax调用方式就很简单了!如下:

function UpdateOnline(){ if (arguments[0]==true){ $.ajax({ url:'ajax.php?do=updateonline', type:'GET', success:function(){ $('#updateonline').html(arguments[0]) } } ); }else{ $.ajax({url:'ajax.php?do=updateonline',type:'GET'}); } }
这个updateonline是div的ID。

还有就是调用这个函数!

$(document).ready(function(){ UpdateOnline(true); window.setInterval("UpdateOnline(true)",60000); });

下面是服务端处理代码:

$Now=time(); $FileName='online.xml'; $XML=new DomDocument; $XML->load($FileName); $Items=$XML->getElementsByTagName("item"); $I=0; $AddXML=true; foreach ($Items as $Item){ $IP=$Item->childNodes->item(0)->nodeValue; $Time=$Item->childNodes->item(1)->nodeValue; if($IP==GetIP()){ $AddXML=false; } if($IP==@$_SESSION['IP']){ $XML_Online=$XML->getElementsByTagName("online")->item(0); $XML_Online_Item_Select=$XML->getElementsByTagName("item")->item($I); $XML_Online_Item=$XML->createElement("item"); $NewIP=$XML->createElement("ip",$IP); $XML_Online_Item->appendChild($NewIP); $NewTime=$XML->createElement("time",$Now); $XML_Online_Item->appendChild($NewTime); $XML_Online->replaceChild($XML_Online_Item,$XML_Online_Item_Select); $XML->save($FileName); } if(round(($Now-$Time)/60)>1){ $Item=$XML->documentElement->getElementsByTagName("item")->item($I); $XML->documentElement->removeChild($Item); $XML->save($FileName); } $I++; } if($AddXML){ $XML->formatOutput = true; $XML_Online=$XML->getElementsByTagName("online")->item(0); $XML_Online_Item=$XML->createElement("item"); $XML_Online_Item_IP=$XML->createElement("ip",GetIP()); $XML_Online_Item->appendChild($XML_Online_Item_IP); $XML_Online_Item_Time=$XML->createElement("time",$Now); $XML_Online_Item->appendChild($XML_Online_Item_Time); $XML_Online->appendChild($XML_Online_Item); $XML->save($FileName); $_SESSION['IP']=GetIP(); } if($Items->length==0){ &nbs
p; echo'1'; }else{ echo $Items->length; } unset($Now,$FileName,$XML,$Items,$I,$AddXML);
配合了session来存储IP地址以区分用户。

 

下面是XML文件

127.0.0.11232254720 好了基本上就这些!

复制链接 网友评论 收藏本文 关闭此页
上一条: 总结下php程序效率优化  下一条: PHP企业级应用之常见缓存技术篇
夜鹰教程网成立于2008年,目前已经运营了将近 13 年,发布了大量关于 html5/css3/C#/asp.net/java/python/nodejs/mongodb/sql server/android/javascript/mysql/mvc/easyui/vue/echarts原创教程。 我们一直都在坚持的是:认证负责、一丝不苟、以工匠的精神来打磨每一套教程,让读者感受到作者的用心。我们默默投入的时间,确保每一套教程都是一件作品,而不是呆板的文字和视频! 目前我们推出在线辅导班试运营,模式为一对一辅导,教学工具为QQ。我们的辅导学科包括 java 、android原生开发、webapp开发、商城开发、C#和asp.net开发,winform和物联网开发、web前端开发,但不仅限于此。 普通班针对的是国内学员,例如想打好基础的大学生、想转行的有志青年、想深入学习的程序员、想开发软件的初学者或者业余爱好者等。 就业办针对即将毕业上岗的大四学生,或者打算转行的初级开发工程师。 留学生班针对的是在欧美、加拿大、澳洲、日本、韩国、新加坡等地留学的中国学子,目的是让大家熟练地掌握编程技能,按时完成老师布置的作业,并能顺利地通过考试。 详细咨询QQ:1416759661   夜鹰教程网  基于角色的权限管理系统(c-s/b-s)。
  夜鹰教程网  基于nodejs的聊天室开发视频教程
  夜鹰教程网  Git分布式版本管理视频教程
  夜鹰教程网  MVC+EasyUI视频教程
  夜鹰教程网  在线考试系统视频教程
  夜鹰教程网  MongoDB视频教程。
  夜鹰教程网 Canvas视频教程
  夜鹰教程网 报表开发视频教程
  热点推荐
PHP---构造函数
php查询mysql中文乱码的解决办法
PHP打印函数集合
PHP中如何保持SESSION以及由此引发…
PHP判断远程文件是否存在
PHPWind7.5 SP2版本新功能抢先看
PHP通过SQL语句将数据写入MySQL数…
php中计算时间差的方法
在PHP中截取HTML代码串问题
PHP教程:strtotime函数实现时间戳…
优化php的性能效率
用php 发送html格式文本
PHP正则表达式提取超链接和标题
iconv函数使用方法---php
配置PHP站点
  最近更新
什么是线性回归
什么是逻辑回归
AI训练模型的过程
如何使用TensorFlow构建和训练自己…
基于Python的未戴口罩识别demo的代…
MVC中怎么实现对于网站的权限管理…
自定义AuthorizeAttribute
“缺少 mysqli 扩展“的解决办法 …
如何用php连接mysql实例详解
PHPWind7.5 SP2版本新功能抢先看
PHP中如何保持SESSION以及由此引发…
php 使用GD库为页面增加水印
用php 发送html格式文本
优化php的性能效率
解决PHP乱码问题的三种办法

关于我们 | 网站建设 | 技术辅导 | 常见问题 | 联系我们 | 友情链接

夜鹰教程网 版权所有 www.yyjcw.com All rights reserved 备案号:蜀ICP备08011740号3