`

在线计数器

 
阅读更多
转自网络
<?php
/*
	@ PHP 在线人数统计程序
	Copyright (c) www.vgot.cn by Pader 1:25 2009年1月7日
	Homepage:http://www.vgot.cn
	QQ: 270075658
	How to use it: <script src="online.php"></script>
	note: 一般独立在线人数统计程序都是统计在线的IP数,而这并不准确
	例如局域网的访问者,比如公司,学校机房和网吧,虽然内网IP不同,但是外网IP都是一样
	如果同一个局域网的无论多少人人访问你的网站则只被认为是一个人
	这个小巧的程序解决了此问题,它以电脑为单为,每台电脑便算一个访问者
	当然因为使用的是COOKIE,如果你在同一台电脑上使用两种不同核心的浏览器访问那就别当别论了
*/
$filename = 'online.txt';  //数据文件
$cookiename = 'VGOTCN_OnLineCount';  //cookie名称
$onlinetime = 30;  //在线有效时间,单位:秒 (即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为键名,最后通信时间为键值
	}
}

/*
	@ 创建访问者通信状态
		使用cookie通信
		COOKIE 将在关闭浏览器时失效,但如果不关闭浏览器,此 COOKIE 将一直有效,直到程序设置的在线时间超时
*/
if(isset($_COOKIE[$cookiename])) {  //如果有COOKIE即并非初次访问则不添加人数并更新通信时间
	$uid = $_COOKIE[$cookiename];
} else {  //如果没有COOKIE即是初次访问
	$vid = 0;  //初始化访问者ID
	do {  //给用户一个新ID
		$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 'document.write("'.$total_online.'");'; 
?>
分享到:
评论

相关推荐

    flash_asp在线计数器

    动态即时显示来访者的人数

    JAVAWEB网站在线人数计数器

    网站在线人数计数器 计数器 网站在线人数计数器 计数器

    php在线统计计数器

    php在线统计计数器 比较全 方便你测试在线人数 统计网站访问........

    乘风多用户计数器3.93

    2.可以设置计数器显示数字,显示位数,计数器是否隐藏,统计信息是否公开等。 3.页面显示记数和IP防刷新记数两种记数模式,支持Script方式和Img方式调用计数器代码。 4.可以记录来访客的来源IP地址和来源页面信息,...

    文本计数器-当前在线(测试版).zip

    文本计数器-当前在线(测试版).zip 希望对感兴趣的有所帮助

    比赛计时器v1.1

    相较于上一版本增加了Reset.可中断。 适用于比赛计时,支持10秒,15秒,20秒,30秒的快速选择。 倒计时5秒时播放倒计时音频。 安装包,非源代码。 欢迎提出改进意见。

    LFSR计数器值计算

    LFSR计数器值计算

    网站计数器(源码ASP)

    ' 乘风多用户计数器v3.7 ' 制 作:乘 风 ' 开发网站:http://www.qqcf.com ' 程序演示:http://www.qqcf.com/?action=try ' 最新版本下载:http://www.qqcf.com/?action=down ' 声 明: ' 本软件系免费程序,提供给...

    乘风多用户计数器 v4.4 (Acc).zip

    乘风多用户计数器 v4.4 (Acc) 更新日志 1.新增对https站点统计的支持 2.新增对cdn访问的支持,可正确获取浏览者IP地址 3.新增在非ie内核下可正确获取统计代码 4.新增对网页Title的在线统计记录 5.新增设置邮件...

    乘风多用户计数器asp版v4.6(Sqlserver)

    乘风多用户计数器,目前国内最稳定的统计系统之一。 功能: 1.同时支持脚本网站统计方式和非脚本网店统计方式 2.总共几十种网站计数图片...5.可以记录来访客的来源IP地址和来源页面信息,在线人数 6.每月、每天

    点击计数器

    这是一个看你能一分内点击多少次的小软件

    flash源代码集合(二)

    flash_asp在线计数器.zip FLASH的下拉菜单.zip Flash卡通留言版.zip INDIAMIKE的网站界面.zip MONOcrafts 飞行菜单教程.zip MX2004简易菜单.zip VISUAL FLOW 的导航系统.zip 背景音乐开关.zip 超酷的三维...

    VHDL设计可逆计数器实验

    使用QuartusII软件对调试完成的工程文件进行管脚琐定及在线下载,掌握使用VHDL语言设计计数器的基本设计方法。

    网页统计计数器脚本,它记录网站点击、访问者、在线访问者和每日访问者

    如果使用MySQL,您的计数器将首先安装,然后您可以刷新页面,您的计数器将显示出来。注2:记得删除安装文件夹。 高级用户安装 编辑计数器和配置文件。 如果使用MySQL,则将dbtables.sql加载到数据库中。 ...

    乘风多用户计数器 v4.6(Sql).zip

    乘风多用户计数器 (Sql)简介 1.同时支持脚本网站统计方式和非脚本网店统计方式 2.总共几十种网站计数图片样式和上百种网店计数图片,且支持网店日历图片 3.可以设置计数器显示数字,显示位数,计数器是否隐藏,...

    乘风多用户计数器 v3.95 (Acc).rar

    3.可以设置计数器显示数字,显示位数,计数器是否隐藏,统计信息是否公开等 4.页面显示记数和IP防刷新记数两种记数模式,支持Script方式和Img方式调用计数器代码 5.可以记录来访客的来源IP地址和来源页面信息,...

    whos.amung。美国用户在线计数器「whos.amung.us Users Online Counter」-crx插件

    显示目前有多少人在你的网站上根据whos.amung。我们小部件使用。 使whos.amung.us用户可以直接在Google Chrome浏览器中查看当前在其网站或博客上的人数。 您最多可以监视15个不同的站点密钥。 单击该图标以获取更多...

    论网站计数器及在线人数统计.docx

    论网站计数器及在线人数统计

    乘风多用户计数器 v3.4(Sql)

    2.可以设置计数器显示数字,显示位数,计数器是否隐藏等。 3.页面显示记数和唯一IP记数两种记数模式。 4.可以记录来访客的来源IP地址和来源页面信息,在线人数。 5.每月、每天和每小时的访问数据统计。 6....

Global site tag (gtag.js) - Google Analytics