在目录新建一个online.txt空白文件,然后可将文件onlineip.php内的代码复制粘贴使用,或者直接将此代码复制粘贴到所需要的统计页面或网站全局底部区域使用将下面代码新建成文件onlineip.php即可。
<html>
<head>
<title>在线人数统计 - www.cunshao.com</title>
</head>
<body>
【<?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("\n", $temp);
$fp = fopen($online_log, 'w');
fputs($fp, $onlines);
fclose($fp);
echo "当前在线人数:" . count($temp);
?>】
</body>
</html>






还没有评论,来说两句吧...