TypechoJoeTheme

尘遇 logo

当我遇上你
排行榜
统计

typecho实时在线人数统计代码

醉书生站长
2019年10月30日
0 评论
192 阅读
检测收录...
10/30

给网站或博各添加在线人数统计,看看有多少小伙伴们正在关注你!

其他主题

首先在主题文件里的functions.php里面最下面放入以下代码

//在线人数
function online_users() {
    $filename='online.txt'; //数据文件
    $cookiename='Nanlon_OnLineCount'; //Cookie名称
    $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"; 
} 

在显示的地方放入代码

比如放在页脚文件即footer.php

<?php echo online_users() ?>

或者:

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

Joe主题设置

Joe主题专用,后台可以自由选择开启和关闭,最上面“其他主题”functions.php里加的在线人数代码还是要加的。

1、修改function.php

在function.php文件的底部新增,文件路径:usr/themes/Joe;如果无法显示设置,则将以下joe_custom修改为joe_other

// 在线人数设置
$onlinePersion = new Typecho_Widget_Helper_Form_Element_Select(
    'onlinePersion',
    array(
        'on' => '开启(默认)',
        'off' => '关闭',
    ),
    'on',
    '是否启用在线人数统计',
    '介绍:开启后,文章底部展示当前在线人数'
);
$onlinePersion->setAttribute('class', 'joe_content joe_custom');
$form->addInput($onlinePersion->multiMode());

2、修改footer.php

在footer.php文件中间新增,文件路径:/usr/themes/Joe/public

②第二段,中间新增,比如“已经运行多少天”前添加

<div class="item" style="margin: 10px; <?php if(Helper::options()->ZNPaySet !== 'on') echo 'display:none;'  ?>">
    <?php echo online_users() ?> 位小伙伴正在浏览
</div>
本文共247个字数,您已阅读:平均阅读时长≈1分钟。
Typechophp
朗读
点赞
0
赞赏
海报
人生
欢迎
要时间嘉许,等春风得意,我正好遇上你!

微信/QQ/支付宝三合一收款码

微信
QQ
支付宝
打开微信/QQ/支付宝扫一扫,即可进行扫码打赏!
版权属于:

尘遇

最后修改:

2021 年 05 月 24 日 09 : 01 AM

本文链接:

https://chenyu.me/onlineusers.html(转载时请注明本文出处及文章链接)

暂无评论