typecho实时监测访问人数以及监测博主在线例程代码!

作者 by Adminkylin / 2022-02-21 / 暂无评论 / 133 个足迹

食用方法
首先在主题文件里的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() ?>

在主题文件functions.php(Joe主题放在core/core.php文件)最下面放入以下代码:

//调用博主最近登录时间
function get_last_login($user){
    $user   = '1';
    $now = time();
    $db     = Typecho_Db::get();
    $prefix = $db->getPrefix();
    $row = $db->fetchRow($db->select('activated')->from('table.users')->where('uid = ?', $user));
    echo Typecho_I18n::dateWord($row['activated'], $now);
}

然后在想要显示的位置调用以下代码:

调用语句示例:博主 <?php get_last_login(1); ?> 在线
就这么简单!

附加
再配合typecho实时在线人数统计代码相结合。将下列代码放入需要显示的地方,如本博客放在页脚文件foot.php。

<div class="tooltip">当前有<?php echo online_users() ?>人访问本站<span class="tooltiptext">博主 <?php get_last_login(1); ?> 在线</span></div>

美化
提示内容美化,将下列代码放在主题的CSS文件里(Joe主题放在assets/css/joe.min.css)

.tooltip {
    position: relative;
    display: inline-block;
    margin: 0 0 0 20px;;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 100%;
    background-color: black;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px;

    /* 定位 */
    position: absolute;
    z-index: 1;
}

.tooltip:hover .tooltiptext {
    visibility: visible;
}
本文作者:萧亮 Blog
本文链接:typecho实时监测访问人数以及监测博主在线例程代码! - https://yundoudong.com/index.php/archives/155/
版权声明:如无特别声明,本文即为原创文章,仅代表个人观点,版权归 遇见数据仓库-自媒体运维工具-萧亮的程序屋-全球节点-素材工具下载-抖音数据分析-影视搜索 所有,未经允许不得转载!
本文最后更新于2022年02月21日,已超过173天没有更新。如果文章内容或图片资源失效,请告知!谢谢!下面为随机推送文章!

评论已开启

阅读足迹:133 阅读 typecho实现文章目录的方法
typecho文章检测多久更新后失效,并且方便访客用户提示博主进行修改