站长必备 !WordPre网站实时访客计数功能实现
IOS辅助 2026-09-03 11:11:22
0

代码部署
把下面代码放置主题 functions.php文件里
//检测在线人数functioncounter_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);}//检测在线人数落成//检测在线人数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);}//检测在线人数落成//检测在线人数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); ?> 人与您同在目前有 人与您同在目前有 人与您同在