发布作者:
百度推送:
功能待实现
作品采用: 《 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 》许可协议授权
1 <?php
2 //首先你要有读写文件的权限,首次访问肯不显示,正常情况刷新即可
3 $online_log = "maplers.dat"; //保存人数的文件到根目录,
4 $timeout = 30;//30秒内没动作者,认为掉线
5 $entries = file($online_log);
6 $temp = array();
7 for ($i=0;$i<count($entries);$i++){
8 $entry = explode(",",trim($entries[$i]));
9 if(($entry[0] != getenv('REMOTE_ADDR')) && ($entry[1] > time())) {
10 array_push($temp,$entry[0].",".$entry[1]."\n"); //取出其他浏览者的信息,并去掉超时者,保存进$temp
11 }}
12 array_push($temp,getenv('REMOTE_ADDR').",".(time() + ($timeout))."\n"); //更新浏览者的时间
13 $maplers = count($temp); //计算在线人数
14 $entries = implode("",$temp);
15 //写入文件
16 $fp = fopen($online_log,"w");
17 flock($fp,LOCK_EX); //flock() 不能在NFS以及其他的一些网络文件系统中正常工作
18 fputs($fp,$entries);
19 flock($fp,LOCK_UN);
20 fclose($fp);
21 echo "在线人数:".$maplers."人";
22 ?>