统计在线人数html代码(php统计在线人数)
本篇文章给大家谈谈统计在线人数html代码,以及php统计在线人数对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
PHP如何统计在线人数
原理:根据不同的IP统计出当前有多少人在线。
实现方式:可以用数据库,也可以用文本。
我这里用了文本实现。
$user_online = "count.php"; // 保存人数的文件
touch ( $user_online ); // 如果没有此文件,则创建
$timeout = 30; // 30秒内没动作者,认为掉线
$user_arr = file_get_contents ( $user_online );
$user_arr = explode ( '#', rtrim ( $user_arr, '#' ) );
print_r ( $user_arr );
$temp = array ();
foreach ( $user_arr as $value ) {
$user = explode ( ",", trim ( $value ) );
if (($user [0] != getenv ( 'REMOTE_ADDR' )) ($user [1] time ())) { // 如果不是本用户IP并时间没有超时则放入到数组中
array_push ( $temp, $user [0] . "," . $user [1] );
}
}
array_push ( $temp, getenv ( 'REMOTE_ADDR' ) . "," . (time () + ($timeout)) . '#' ); // 保存本用户的信息
$user_arr = implode ( "#", $temp );
// 写入文件
$fp = fopen ( $user_online, "w" );
flock ( $fp, LOCK_EX ); // flock() 不能在NFS以及其他的一些网络文件系统中正常工作
fputs ( $fp, $user_arr );
flock ( $fp, LOCK_UN );
fclose ( $fp );
echo "当前有" . count ( $temp ) . "人在线";
如何统计网站在线人数?
Redis字符串中的setbit key offset value(0,1)命令可以对字符串对象对应的位进行二进制赋值。用户的登陆状态可以用一个bit来表示,这样1亿个用户所需的内存空间仅为10M左右。
具体实现:首先在redis中初始化字符串:setbit loginstatus 10000 0。在中间件上,当用户登陆认证完成时,获取用户uid并在redis上设置登陆状态setbit loginstatus uid 1。获取在线用户数量实现:bitcount loginstatus,前端ajax轮询访问接口获取数据。
# 计算出 7 天都在线的用户BITOP"AND""7_days_both_online_users""day_1_online_users""day_2_online_users"..."day_7_online_users"# 计算出 7 在的在线用户总人数BITOP"OR""7_days_total_online_users""day_1_online_users""day_2_online_users"..."day_7_online_users"# 计算出两天当中只有其中一天在线的用户BITOP"XOR""only_one_day_online""day_1_online_users""day_2_online_users"
我一直纳闷,网络游戏的在线人数是怎么统计的
眼下,作网站已成为一种时尚,各式各样的网站如雨后春笋般冒了出来。有用CGI制作的,有用ASP制作的,还有用PHP制作的,不一而足。有一些网站则能统计出当前的在线人数,如:“目前有32人在线”。那么,用ASP制作的网站怎样显示当前的在线人数呢?当用ASP制作的网页都存放与WWW服务器的基点目录并且WWW服务器启动之后,每当有对ASP文件的HTTP请求时,服务器都会去读取基点目录下的Global.asa文件。为了统计网站的在线人数,我们可以在Global.asa文件中包含如下代码:这样,网站的在线人数就被统计出来了,我们可以利用如下一个ASP页面(js.asp)将它显示出来:jsh.asp:统计在线人数当前在线人以上代码是我在WinNT(IIS4.0)下调试并通过了的。
PHP+MYSQL实例--网站在线人数的程序统计代码
首先是创建MYSQL数据库表。
CREATE TABLE tablename (
field type(max_length) DEFAULT 'default_value' (NOT) NULL
}
可以使用的SQL语句。
CREATE TABLE useronline (
timestamp int(15) DEFAULT '0' NOT NULL,
ip varchar(40) NOT NULL,
file varchar(100) NOT NULL,
PRIMARY KEY (timestamp),
KEY ip (ip),
KEY file (file)
);
下面我们开始使用PHP脚本,首先定义MYSQL的信息。
server = "localhost"; //你的服务器
db_user = "root"; //你的mysql的用户名
db_pass = "password"; //你的mysql的密码
database = "users"; //表的名字
设置统计的时间(多少秒内在线人数)
timeoutseconds = 300;
取当前时间。
timestamp = time();
关于统计在线人数html代码和php统计在线人数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。