给wordpress添加在线人数统计

Home / Article MrLee 2016-4-2 3069

有时候访问网站响应感觉有点迟钝,不知道是不是因为同时访问的人多的缘故。于是就在百度搜了下统计在线人数的源码
//检测在线人数
function counter_user_online($temp) {
    $user_online = "count.txt"; //保存人数的文件,网站根目录下
    touch($user_online); //如果没有此文件,则创建
    $timeout = 300; //300秒内没动作者,认为掉线
    $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);
}

 

本文链接:https://www.it72.com/8768.htm

推荐阅读
最新回复 (0)
返回