本站承诺永不接任何虚假欺骗、联盟广告、弹窗广告、病毒广告、诱导充值等影响用户体验的广告,广告屏蔽插件会影响本站部分功能,还请不要屏蔽本站广告,感谢支持!

当前位置:首页 / 正文

2021-02-20 | 编程技术 | 2414 次阅读 | 等你评论 | 1 次点赞 | 繁体

PHP 实现的简单在线人数统计功能

代码

//在线人数
function online_users() {
    $filename='online.txt'; 
    $CookieName='OnLinePerson'; 
    $onlineTime=30; 
    $online=file($filename); 
    $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;
        } 
    } 
    if(isset($_COOKIE[$CookieName])){
        $uid=$_COOKIE[$CookieName]; 
    }else{
        $vid=0;
        do{
            $vid++; 
            $uid='U'.$vid; 
        }while(array_key_exists($uid,$nowonline)); 
        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); 
        } 
    } 
    echo "$total_online"; 
} 

这里解释下一些变量吧:

$filename 数据文件的名字
$CookieName Cookie 名称,这里使用 Cookie 进行记录,当然你也可以用本地储存
$onlineTime 在线有效时间,以秒为单位,超过这个时间没有动作将会记为掉线

我使用的是 Typecho 主题,所以我将会把上面的代码放入 functions.php 内

当然你是其他程序的也可以用的,具体怎么放就要看实际情况了

调用

<?php echo online_users() ?>

标签: php

猜你喜欢
Typecho纯代码生成sitemap站点地图
想要实现 Typecho 纯代码生成 sitemap 站点地图只需要 2 步就够了。1、在博客主题目录新建 sitemap.php 页面,放入以下代码:<?php /** *HTML版网站...
typecho使用文件缓存加快打开速度
typecho 是一个伪静态的博客系统,如果不使用缓存,每次打开页面都会查询数据库,访问人数多了以后服务器压力倍增。但是,typecho 是一个 php 的程序,我们可以利用 php 将实时页面...
基于本地数据库的 IP 地址查询 |PHP 源码
网上有很多第三方的 IP 地址查询 API 接口,直接调用第三方的接口很方便,但也容易失效导致无法使用。因此今天来分享一个基于本地数据库的 IP 地址查询源码!模块代码<?php /** ...
轻量级PHP单文件在线文件管理器
在我们使用各种主机或者vps时,很多情况下都需要 ftp 进行连接,这是件麻烦事,费时又费力,今天给大家安利一款炒鸡棒的轻量级 PHP 单文件在线文件管理器 Tinyfilemanager介绍T...
PHP 自动爬毒汤日历搭建毒鸡汤一言 API 接口
什么是毒汤日历?毒汤日历是一本有毒的日历,每天用毒鸡汤来唤醒你。 你甚至不用打开日历,打开 App 的推送,每天会定时送上一杯毒鸡汤。 自己也能制作毒鸡汤?那太好了,毒性够强,如果让别人扎到心你...
在线 PHP运行工具实现思路及源码
背景不知道大家有没有看到过这样的一个网站。名字是“菜鸟工具”,里面有很多的在线编辑,在线运行的小工具,实用也很方便。(嘻嘻,不是打广告哈,不过确实很实用)。作为一个PHP菜鸟,如果能有一个好用的...
简单的正则表达式入门
## 什么是正则表达式 正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为 regex、regexp 或 RE),计算机科学的一个概念。正则表达式通常被用来检
(首次提交评论需审核通过才会显示,请勿重复提交)