吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2750|回复: 4
收起左侧

[其他转载] 【PHP】简单的实时在线人数统计

  [复制链接]
wibus 发表于 2021-2-15 12:48

效果

QQ20210215-123802@2x.png " alt="" />

来自我的博客的真实截图

实现

//在线人数
function online_users() {
    $filename='online.txt'; 
    $CookieName='OnLinePerson'; 
    $onlineTime=30; 
    $online=file($filename); 
    $nowtime=$_SERVER['REQUEST_TIME']; 
    $nowonline=array(); 
    foreach($online as $line){ 
        $row=explode('|',$line); 
        $sesstime=trim($row[1]); 
        if(($nowtime - $sesstime)<=$onlineTime){
            $nowonline[$row[0]]=$sesstime;
        } 
    } 
    if(isset($_COOKIE[$CookieName])){
        $uid=$_COOKIE[$CookieName]; 
    }else{
        $vid=0;
        do{
            $vid++; 
            $uid='U'.$vid; 
        }while(array_key_exists($uid,$nowonline)); 
        setcookie($CookieName,$uid); 
    } 
    $nowonline[$uid]=$nowtime;
    $total_online=count($nowonline); 
    if($fp=@fopen($filename,'w')){ 
        if(flock($fp,LOCK_EX)){ 
            rewind($fp); 
            foreach($nowonline as $fuid=>$ftime){ 
                $fline=$fuid.'|'.$ftime."\n"; 
                @fputs($fp,$fline); 
            } 
            flock($fp,LOCK_UN); 
            fclose($fp); 
        } 
    } 
    echo "$total_online"; 
} 

这里解释下一些变量吧:

  • $filename 数据文件的名字
  • $CookieName Cookie名称,这里使用Cookie进行记录,当然你也可以用本地储存der
  • $onlineTime 在线有效时间,以秒为单位,超过这个时间没有动作将会记为掉线

我使用的是Typecho主题,所以我将会把上面的代码放入functions.php内

当然你是其他程序的也可以用的,具体怎么放就要看实际情况了

调用

<?php echo online_users() ?>

我博客上是这样子的:

<p><?php echo online_users() ?> 位小伙伴正在浏览</p>

免费评分

参与人数 2吾爱币 +1 热心值 +2 收起 理由
泳诗 + 1 我很赞同!
中之易 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
First丶云心 发表于 2021-2-15 14:39
提示: 作者被禁止或删除 内容自动屏蔽
andyfky 发表于 2021-2-15 16:08
zhzh01 发表于 2021-2-19 10:47
xjdasitu 发表于 2021-2-19 20:58
向大佬学习,谢谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 19:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表