网神通电脑维修:电脑维修、数据恢复、解密加密、整机组装、维护升级、IT外包 、监控安装维护、网络维护、打印机共享与维修、网站建设与维护☑诚信 ☑效率 ☑快速 ☑低价 ☑专业 免费咨询:13927420089

未命名文章

25 11月
作者:网神通|分类:电脑

PHP实时获取当前在线人数

( 更新:10-20   加入收藏)


<?php

header('Content-type: text/html; charset=utf-8');

$online_log='count.txt';//保存在线人数数据的文件,

$timeout=60;//60秒内没有动作,则是掉线

@$entries=file($online_log);//将文件作为一个数组返回,数组中的每个单元都是文件中相应的一行,包括换行符在内

$temp=array();

if($entries)

{

    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))." ");//更新浏览者的时间

$users_online=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);

echo '当前有'.$users_online.'人在线';


?>

使用这段代码如果需要外部文件调用输出结果的话,就需要判断下count.txt里面的数组数量了,例如:

$count = file_get_contents('count.txt'); 

$jmk = substr_count($count,'n') ;

echo '当前有'.$jmk.'人在线';

当然,这只是一个示例代码,更多方法还需自己慢慢探索,学习的乐趣不就是这样吗?

本文链接:http://www.wstdnwx.com/?id=129 转载需授权!

分享到:
浏览1914 评论0
返回
目录
返回
首页
未命名文章 未命名文章

发表评论

扫一扫,加我为微信好友加我为微信好友

遇到问题?请给我们留言

请填写您的电话号码,我们将回复您电话

您是本站第892名访客 今日有0篇新文章 当前在线 4 人

分享:

支付宝

微信

歌曲 - 歌手
0:00