代码部署
把代码放置主题 functions.php文件
- //检测在线人数
- function counter_user_online($temp){
- $user_online = "count.txt"; //保存人数的文件,网站根目录下
- touch($user_online);//如果没有此文件,则创建
- $timeout = 120;//120 秒内没动作者,认为掉线
- $user_arr = file_get_contents($user_online);
- $user_arr = explode('#',rtrim($user_arr,'#'));
- $temp = array();
- foreach($user_arr as $value){
- $user = explode(",",trim($value));
- if (($user[0] != getenv('REMOTE_ADDR')) && ($user[1] > time())) { //如果不是本用户 IP 并时间没有超时则放入到数组中
- array_push($temp,$user[0].",".$user[1]);
- }
- }
- array_push($temp,getenv('REMOTE_ADDR').",".(time() + ($timeout)).'#'); //保存本用户的信息
- $user_arr = implode("#",$temp);
- //写入文件
- $fp = fopen($user_online,"w");
- flock($fp,LOCK_EX); //flock() 不能在 NFS 以及其他的一些网络文件系统中正常工作
- fputs($fp,$user_arr);
- flock($fp,LOCK_UN);
- fclose($fp);
- echo count($temp);
- }
- //检测在线人数结束
调用
- 目前有<?php counter_user_online($temp); ?> 人与您同在