您好,欢迎来到95分类目录!站长微信:vip3632094
当前位置:95分类目录 » 站长资讯 » 35dir专区 » 文章详细 订阅RssFeed

给35dir底部加一个当前实时在线人数

来源:本站原创 浏览:183次 时间:2025-02-24
简介:在网站目录data文件夹新建online_stats文件夹,online_stats文件夹里面新建一个online.php文件,复制以下代码,data文件夹权限改为755应用到子目录。

在网站目录data文件夹新建online_stats文件夹,online_stats文件夹里面新建一个online.php文件,复制以下代码,data文件夹权限改为755应用到子目录。

<?php

$timeout = 300;
$logFile = __DIR__ . '/.online_log';


try {
    // 检测必要参数是否存在
    $isWebRequest = isset($_SERVER['REMOTE_ADDR'], $_SERVER['HTTP_USER_AGENT']);
    
    // 读取现有数据
    $activeUsers = file_exists($logFile) 
        ? json_decode(file_get_contents($logFile), true) 
        : [];
    
    // 清理过期记录
    $currentTime = time();
    foreach($activeUsers as $key => $timestamp) {
        if($currentTime - $timestamp > $timeout) {
            unset($activeUsers[$key]);
        }
    }
    
    // 仅在Web请求时更新记录
    if($isWebRequest) {
        $Hash = hash('sha256', $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']);
        $activeUsers[$Hash] = $currentTime;
    }
    
    // 保存数据(原子操作)
    file_put_contents($logFile, json_encode($activeUsers), LOCK_EX);
    
    // 返回在线人数
    echo count($activeUsers);
} catch (Exception $e) {
    error_log("Online Counter Error: " . $e->getMessage());
    echo "0";
}
?>


/themes/default文件夹找到前端底部footer.html中的

{#insert name="script_time"#}
,在下面一行加入以下代码保存。

<div id="onlineCounter">当前在线:加载中...</div>


<script>
// 定时更新(每60秒)
function updateCounter() {
    fetch('/data/online_stats/online.php')
        .then(response => response.text())
        .then(count => {
            document.getElementById('onlineCounter').innerHTML = 
                `当前在线:${count}人`;
        })
        .catch(() => console.log('统计服务不可用'));
}


// 页面加载时立即执行
updateCounter();
// 设置定时器
setInterval(updateCounter, 60000);
</script>

至此35dir底部加一个当前实时在线人数的功能就实现了


© 版权声明

推荐站点

  • 希仁之拥的博客希仁之拥的博客

    独立开发者 & 开源爱好者。喜欢猫猫狗狗、花花草草,热衷于创造酷酷的东西。 —— 希仁之拥 © blog.keepchen.com

    blog.keepchen.com
  • QR Online.ioQR Online.io

    Free online QR code generator supporting URL, text, contact info, WiFi and more. Customize colors, add logos, high-quality output.

    www.qronline.io
  • Temp Mail 365Temp Mail 365

    Temp Mail 365 provides instant temporary email addresses to protect your privacy and avoid spam. No registration required, 5-60 minute validity.

    temp-mail-365.com
  • 我的电视我的电视

    我的电视是一个在线观看高清影视电影的免费站点

    my0713.com
  • 优站库 - 新型分类目录优站库 - 新型分类目录

    一个集网站推荐、内容推荐于一体的宝藏之地。我们精心搜罗各类常用网站,构建起全面的网站目录。无论是学习提升所需的在线课程平台,还是休闲娱乐的影视音乐网站,亦或是商务办公的效率工具站点,都能在我们的分类大全中快速找到。同时,我们也是一个充满活力的建站交流社区。站长们在此分享经验、探讨技术,共同提升网站建设水平。作为网址导航,我们为你清晰分类,节省寻找优质网站的时间和精力。在这里,你无需再为找不到合适的网站而烦恼,只需轻轻一点,就能开启精彩的网络之旅。

    www.uzkoo.com