Typecho 网站总访客数统计/在线人数设置

 2 个月前     54  

文章目录

总访客代码

代码

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

//总访问量
    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 等) 插入以下调用代码。

访客总人数:<?php echo theAllViews();?>

然后就好了

在线人数代码

代码

<?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 的文件用来记录。

插入代码

<?php echo $tj?>
版权声明:野路子 发表于 2 个月前,共 1040 字。
转载请注明:Typecho 网站总访客数统计/在线人数设置 | 野路子

您可能感兴趣的

暂无评论

暂无评论...