Typecho 网站总访客数统计加在线人数代码

2023-03-09 12:57:01 浏览数 (1)

本文最后更新于2021年7月22日,已超过1年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!

总访客代码

代码

首先在Typecho后台外观选择编辑当前外观 functions.php中,添加以下统计代码。

代码语言:javascript复制
//总访问量
    function theAllViews()
        {
            $db = Typecho_Db::get();
            $row = $db->fetchAll('SELECT SUM(VIEWS) FROM `typecho_contents`');
                echo number_format($row[0]['SUM(VIEWS)']);
        }

插入代码

添加后点击保存即可; 然后在你需要显示的位置(如:footer.php sidebar.php 等)插入以下调用代码。

代码语言:javascript复制
访客总人数:<?php echo theAllViews();?>

然后就好了

在线人数代码

代码

代码语言:javascript复制
<?php
    //首先你要有读写文件的权限,首次访问肯不显示,正常情况刷新即可
    $online_log = "slzxrs.dat"; //保存人数的文件到根目录,
    $timeout = 30;//30秒内没动作者,认为掉线
    $entries = file($online_log);
    $temp = array();
    for ($i=0;$i<count($entries);$i  ){
        $entry = explode(",",trim($entries[$i]));
        if(($entry[0] != getenv('REMOTE_ADDR')) && ($entry[1] > time())) {
            array_push($temp,$entry[0].",".$entry[1]."n"); //取出其他浏览者的信息,并去掉超时者,保存进$temp
        }
    }
    array_push($temp,getenv('REMOTE_ADDR').",".(time()   ($timeout))."n"); //更新浏览者的时间
    $slzxrs = count($temp); //计算在线人数
    $entries = implode("",$temp);
    //写入文件
    $fp = fopen($online_log,"w");
    flock($fp,LOCK_EX); //flock() 不能在NFS以及其他的一些网络文件系统中正常工作
    fputs($fp,$entries);
    flock($fp,LOCK_UN);
    fclose($fp);
    $tj= "在线人数:".$slzxrs."人";
?>

将以上代码放到要显示文件的最顶部,之后再要显示此统计的地方加上此输出。 然后在文件栏建一个slzxrs.dat的文件用来记录。

插入代码

代码语言:javascript复制
<?php echo $tj?>
php

0 人点赞