利用cookies统计在线访问人数

该PHP程序通过Cookies来统计网站在线访问人数,避免了因局域网IP相同导致的统计不准确问题。程序首先读取数据文件,检查每个会话是否仍在有效时间内,然后创建或更新访问者的通信状态。当用户关闭浏览器时,Cookies失效,但如果浏览器保持打开状态,Cookies将一直有效,直到超过预设的在线时间。最后,程序计算当前在线人数并将更新后的数据写回文件。
摘要由CSDN通过智能技术生成

<?php
/*
 note: 一般独立在线人数统计程序都是统计在线的IP数,而这并不准确
 例如局域网的访问者,比如公司,学校机房和网吧,虽然内网IP不同,但是外网IP都是一样
 如果同一个局域网的无论多少人人访问你的网站则只被认为是一个人
 这个小巧的程序解决了此问题,它以电脑为单为,每台电脑便算一个访问者
 当然因为使用的是COOKIE,如果你在同一台电脑上使用两种不同核心的浏览器访问那就别当别论了
*/
$filename = 'online.txt';  //数据文件
$cookiename = 'VGOTCN_OnLineCount';  //cookie名称
$onlinetime = 600;  //在线有效时间,单位:秒 (即600等于10分钟)

$online = file($filename);
$nowtime = time();
$nowonline = array();

/*
 @ 得到仍然有效的数据
*/
foreach($online as $line) {
 $row = explode('|',$line);
 $sesstime = trim($row[1]);
 if(($nowtime - $sesstime) <= $onlinetime) {  //如果仍在有效时间内,则数据继续保存,否则被放弃不再统计
  $nowonline[$row[0]] = $sesstime;  //获取在线列表到数组,会话ID为键名,最后通信时间为键值
 }
}

/*
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值