站长必备 !WordPre网站实时访客计数功能实现

代码部署

把下面代码放置主题 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); ?> 人与您同在
目前有 人与您同在
目前有 人与您同在

 

 

渝ICP备2025076537号-22