PHP统计当前在线人数
2016-11-10 21:45
351 查看
PHP统计当前在线人数
2、文本编辑器:Sublime。
//保存在线用户信息的文件
touch($user_online);
// 若无此文件则创建
// 30秒内没动作,认为掉线
将文件内容赋予一个字符串
$user_arr=explode("#",rtrim($user_arr,'#'));//将字符串分割为数组
// 放置所有用户信息
foreach($user_arras $value){
$user=explode(",",trim($value));
// 如果不是本机IP,并且时间没有超过,则放入数组temp中
// getenv('REMOTE_ADDR')是获取远程IP地址(在IIS下无效果),$_SERVER['REMOTE_ADDR']也可以获取IP地址。
if(($user[0]!=getenv('REMOTE_ADDR'))&&($user[1]>time())){
array_push($temp,$user[0].",",$user[1]);
}
}
$user_arr=implode("#",$temp);
锁定文件(保证同时只有一个用户在对文件进行写入操作)
fputs($fp,$user_arr);
// 写入文件
flock($fp,LOCK_UN);
// 释放锁定
fclose($fp);
// 关闭文件
输出当前在线人数
“localhost:8080/countOnline.php”可以看到如图1所示的当前在线人数。
图1 项目结果图
一、开发环境
1、Windows+Apache+MySQL+PHP的环境。2、文本编辑器:Sublime。
二、主要技术
PHP三、具体步骤
本文主要是通过IP来区分不同的访问用户,然后将用户信息保存在txt文本中来实现统计当前在线人数的功能。3.1、创建php文件
创建一个名为“countOnline.php”的PHP文件用来实现统计当前在线人数的功能。3.2、统计在线人数功能代码
(1)定义保存用户信息的文本
$user_online="count.txt";//保存在线用户信息的文件
touch($user_online);
// 若无此文件则创建
(2)定义超时时间
$timeout=30;// 30秒内没动作,认为掉线
(3)文件内容读取
$user_arr=file_get_contents($user_online);//将文件内容赋予一个字符串
$user_arr=explode("#",rtrim($user_arr,'#'));//将字符串分割为数组
(4)获取远程在线用户信息
$temp=array();// 放置所有用户信息
foreach($user_arras $value){
$user=explode(",",trim($value));
// 如果不是本机IP,并且时间没有超过,则放入数组temp中
// getenv('REMOTE_ADDR')是获取远程IP地址(在IIS下无效果),$_SERVER['REMOTE_ADDR']也可以获取IP地址。
if(($user[0]!=getenv('REMOTE_ADDR'))&&($user[1]>time())){
array_push($temp,$user[0].",",$user[1]);
}
}
(5)保存本用户的信息
array_push($temp,getenv('REMOTE_ADDR').",".(time()+($timeout)).'#');$user_arr=implode("#",$temp);
(6)以更新的形式打开文件
$fp=fopen($user_online,"w");(7)对文件进行写入
flock($fp,LOCK_EX);//锁定文件(保证同时只有一个用户在对文件进行写入操作)
fputs($fp,$user_arr);
// 写入文件
flock($fp,LOCK_UN);
// 释放锁定
fclose($fp);
// 关闭文件
(8)输出当前在线人数至页面
echo"当前有".count($temp)."人在线"; //输出当前在线人数
四、网页测试
开启Apache服务器后,打开浏览器,在浏览器地址栏中输入文件地址,例如:“localhost:8080/countOnline.php”可以看到如图1所示的当前在线人数。
图1 项目结果图
相关文章推荐
- php统计当前在线人数
- PHP+Memcache统计当前在线人数
- php模仿asp Application对象在线人数统计
- php文件实现在线人数统计
- php实现当前用户在线人数
- php实现当前用户在线人数
- PHP简单统计在线人数
- session监听器(可用于统计在线人数,了解系统当前的使用客户)
- J2EE中统计当前在线人数――HttpSessionBindingListener和HttpSessionListener
- 如何用 php 精确统计在线人数
- 也谈php网站在线人数统计
- session监听器(可用于统计在线人数,了解系统当前的使用客户)
- 两种统计当前在线人数的方法
- Application全局对象 实现统计当前在线人数和总访问次数
- php通过cookie统计在线人数
- php使用Session和文件统计在线人数
- php统计IP以及在线人数的统计
- [转]php统计在线人数
- 统计当前在线人数,相当准确
- Servlet监听------------例子:统计当前在线人数