php统计当前在线人数
<?php $online_log = "online.txt"; // 保存用户ip和时间的文件,形式:ip,time = 192.168.xx.xx,1516242630 $timeout = 1800; // 设置多长时间(30分)用户不在,设为掉线 $temp = array(); // 保存当前在线所有用户,后用来更新文件 if (!file_exists($online_log)) { // 文件不存在,就创建 touch($online_log); } $onlines = file($online_log); // 以数组的形式将用户ip和time取出来array([0]=>"192.168.xx.xx,1516242630", [1]=>...) for ($i=0; $i<count($onlines); $i++) { $online = explode(",", trim($onlines[$i])); // 将用户ip和时间分隔开 // 过滤文件中其他的浏览者:前面!=是其他的浏览者,和当前的ip(自己)不一样,过滤掉超时的其他ip if ($online[0] != $_SERVER["REMOTE_ADDR"] && $online[1] > time()) { array_push($temp, $online[0] . "," . $online[1]); } } // 更新当前的ip(自己)时间 array_push($temp, $_SERVER["REMOTE_ADDR"] . "," . (time() + $timeout)); // 更新在线人数的文件 $onlines = implode(" ", $temp); $fp = fopen($online_log, "w"); fputs($fp, $onlines); fclose($fp); echo "当前在线人数" . count($temp);
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: php数值转换时间 时间转换数值
- 下一篇: php 在线人数,今日访问量,总访问量统计