热点推荐

查看: 34|回复: 0

Emlog统计正在访问网站的在线人数代码

[复制链接]
  • TA的每日心情
    闭嘴
    3 天前
  • 等级头衔

    等級:管理员

    Rank: 9Rank: 9Rank: 9

    积分成就
    UID
    1
    威望
    590
    贡献
    2294
    主题
    1217
    精华
    3
    积分
    2988
    注册时间
    2020-1-22
    最后登录
    2022-5-29

    快捷版块
    版块
    官方交流Q群
    版块
    在线申请友链

    建功伟业

    最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献荣誉管理论坛元老

    发表于 2021-11-27 18:20:36 来自手机 | 显示全部楼层 |阅读模式
    20211127171907.jpg
    有时候想在网页中向访客展示emlog博客的在线人数信息,但emlog后台侧边栏没有提供相关的模块,因此需要小高自主添加博客在线人数信息代码。

    效果如上图,下面是整理的emlog博客在线人数代码,已在emlog 5.3.x上测试可用。

    方法很简单,把下面的代码添加到你需要显示的地方即可。

    这里我添加在网站底部:
    1. <?php
    2. //首先你要有读写文件的权限,首次访问肯不显示,正常情况刷新即可
    3. $online_log = "maplers.dat"; //保存人数的文件到根目录,
    4. $timeout = 30;//30秒内没动作者,认为掉线
    5. $entries = file($online_log);
    6. $temp = array();
    7. for ($i=0;$i<count($entries);
    8. $i++){ $entry = explode(",",trim($entries[$i]));
    9. if(($entry[0] != getenv('REMOTE_ADDR')) && ($entry[1] > time())) {
    10. array_push($temp,$entry[0].",".$entry[1]."\n"); //取出其他浏览者的信息,并去掉超时者,保存进$temp
    11. }}
    12. array_push($temp,getenv('REMOTE_ADDR').",".(time() + ($timeout))."\n"); //更新浏览者的时间
    13. $maplers = count($temp); //计算在线人数
    14. $entries = implode("",$temp); //写入文件
    15. $fp = fopen($online_log,"w"); flock($fp,LOCK_EX); //flock() 不能在NFS以及其他的一些网络文件系统中正常工作
    16. fputs($fp,$entries);
    17. flock($fp,LOCK_UN);
    18. fclose($fp);
    19. echo "在线人数:".$maplers."人";
    20. ?>
    复制代码

    帖子地址: 

    温馨提示:
    1、在资源网里发表的文章仅代表作者本人的观点,与本网站立场无关。
    2、资源网的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
    3、当政府机关依照法定程序要求披露信息时,本资源网均得免责。
    4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,资源网不负任何责任。
    5、注册会员通过任何手段和方法针对资源网进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
    6、 如遇到加密压缩包,默认解压密码为"www.52qians.com",如遇到无法解压的请联系管理员!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

  • 返回顶部