Typecho添加实时在线人数统计功能
514 字
3 分钟
Typecho添加实时在线人数统计功能
效果预览
添加此功能后,您可以在博客侧边栏或页脚等位置实时显示当前网站的在线访客数量,如下图所示:

实现步骤
步骤一:添加统计函数代码
默认主题:/usr/themes/default/functions.php
Handsome主题:/usr/themes/handsome/functions.php
在文件末尾添加以下代码:
/** * 在线人数统计函数 */function online_users() { // 基本配置参数 $filename = 'online.txt'; // 数据文件路径,默认在网站根目录 $cookiename = 'Typecho_Online'; // Cookie名称,用于标识访客 $onlinetime = 30; // 在线有效时间(秒),超过此时间未活动则视为离线
// 读取在线用户数据文件 $online = file_exists($filename) ? file($filename) : array(); $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; } }
// 处理当前访客的Cookie if(isset($_COOKIE[$cookiename])) { // 已有Cookie,获取访客ID $uid = $_COOKIE[$cookiename]; } else { // 无Cookie,生成新的唯一访客ID $vid = 0; do { $vid++; $uid = 'U'.$vid; } while(array_key_exists($uid, $nowonline));
// 设置Cookie,默认会话期有效 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); }
return $total_online;}步骤二:在模板中显示在线人数
通用方法(适用于任何位置)
在需要显示在线人数的模板文件中,添加以下代码:
<div class="online-users"> 当前在线: <?php echo online_users(); ?> 人</div>Handsome主题侧边栏添加方法
编辑文件:/usr/themes/handsome/component/sidebar.php
在适当位置(如”统计信息”部分)添加:
<li class="list-group-item"><div class="text-second"><span class="blog-info-icons"><i data-feather="user"></i></span><span class="badge pull-right"><?php echo online_users() ?></span><?php _me("在线人数") ?></li>
页脚添加方法
编辑主题的footer.php文件,在合适位置添加:
<div class="site-info"> <!-- 其他页脚信息 --> <span class="online-count">当前在线: <?php echo online_users(); ?> 人</span></div>支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
Typecho添加实时在线人数统计功能
https://fanrich.eu.org/posts/程技/typecho/typecho添加实时在线人数统计功能/相关文章智能推荐
1
Typecho handsome添加顶部服务器状态栏
程技2026-02-01
2
春节到了,给typecho博客网站添加两对3D红灯笼
程技2026-02-01
3
Typecho handsome主题美化:10.1.0最新版
程技2026-02-01
4
typecho博客网站头部SEO优化完整指南
程技2026-02-01
5
handsome主题添加服务器状态栏最新版(Linux通用版)
程技2026-02-01
随机文章随机推荐
樊笼










