php在线人数据统计程序源码
这种一款可以统计你网站当前在线人数的代码,由php+txt实现的无需数据来来支持,PHP+txt实例代码如下:
<?php
$time = gettimeofday(void);
//文件初始化 start
if (@filesize("time.text") <= 0) {
$fd_time = fopen("time.text", "w+");
fputs($fd_time, $time[sec]);
fclose($fd_time);
$fd_time = fopen("ip.text", "w+");
fclose($fd_time);
}
//文件初始化 over
//更新时间 start
$tamp = file("time.text");
$equal = ($time[sec] - $tamp[0]);
if ($equal > 60) {
$fd_time = fopen("time.text", "w+");
fputs($fd_time, "");
fclose($fd_time);
}
//更新时间 over
//检查ip start
$fd_ip = fopen("ip.text", "a+");
//获取用户ip地址
if ($http_server_vars["http_x_forwarded_for"]) {
$ip = $http_server_vars["http_x_forwarded_for"];
} elseif ($http_server_vars["http_client_ip"]) {
$ip = $http_server_vars["http_client_ip"];
} elseif ($http_server_vars["remote_addr"]) {
$ip = $http_server_vars["remote_addr"];
} elseif (getenv("http_x_forwarded_for")) {
$ip = getenv("http_x_forwarded_for");
} elseif (getenv("http_client_ip")) {
$ip = getenv("http_client_ip");
} elseif (getenv("remote_addr")) {
$ip = getenv("remote_addr");
} else {
$ip = "unknown";
}
$ip_adds = file("ip.text");
for ($i; $i < count($ip_adds); $i++) {
if ($ip . " " == $ip_adds[$i]) {
$ip_check = 1;
break;
}
}
if ($ip_check != 1) {
fputs($fd_ip, $ip . " ");
}
fclose($fd_ip);
//检查ip over
$ip_adds = count(file("ip.text"));
?>调用方法:
<?php
/*
* 标题:简单在线人数统计
*
* 作者:邓东东
*
**/
include ("online.php");
$fd_ip = file("ip.text");
?>
<title>在线人数</title>
<center><font color=blue size=6>php100论坛在线总人数为:<font color=red size=8><?php echo $ip_adds08610071 < / font > 人 < br > 用户ip: < ? phpecho "<select>";
for ($i = 0; $i < count($ip_adds); $i++) {
echo "<option value = '$i'>" . substr($fd_ip[$i], 0, 0 - strlen(strrchr($fd_ip[$i], '.'))) . ".*</option> ";
}
echo "</select>";
?>
</font></center>教程地址:http://www.phprm.com/develop/fs4320.html
欢迎转载!但请带上文章地址^^