您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php统计网站在线人数

2025/11/28 8:34:28发布24次查看
php如何统计网站在线人数?本文主要介绍了php实现统计网站在线人数的方法,通过获取服务器端网络参数及文本文件读写实现统计在线人数的功能。希望对大家有所帮助。
具体实现方法如下:
<?php function getipaddress() { // 取得当前用户的ip地址 if (getenv('http_client_ip')) { $ip = getenv('http_client_ip'); } elseif (getenv('http_x_forwarded_for')) { $ip = getenv('http_x_forwarded_for'); } elseif (getenv('remote_addr')) { $ip = getenv('remote_addr'); } else { $ip = $_server['remoe_addr']; } return $ip; } function writeover($filename,$data,$method = 'w',$chmod = 0){ $handle = fopen($filename, $method); !handle && die("文件打开失败"); flock($handle, lock_ex); fwrite($handle, $data); flock($handle, lock_un); fclose($handle); $chmod && @chmod($filename, 0777); } function count_online_num($time, $ip) { $filecount = './count.txt'; $count = 0; $gap = 900; //15分钟不刷新页面就 if (!file_exists($filecount)) { $str = $time . "\t" . $ip . "\r\n"; writeover($filecount, $str, 'w', 1); $count = 1; } else { $arr = file($filecount); $flag = 0; foreach($arr as $key => $val) { $val= trim($val); if ($val != "") { list($when, $seti) = explode("\t", $val); if ($seti ==$ip) { $arr[$key] = $time . "\t" . $seti; $flag = 1; } else { $currenttime = time(); if ($currenttime - $when > 900) { unset($arr[$key]); }else{ $arr[$key]=$val; } } } } if ($flag == 0) { array_push($arr, $time . "\t" . $ip); } $count = count($arr); $str = implode("\r\n", $arr); $str.="\r\n"; writeover($filecount, $str, 'w', 0); unset($arr); } return $count; } $time = time(); $ip = getipaddress(); $online_num = count_online_num($time,$ip); echo $online_num; ?>
相关推荐:
php解决session文件阻塞
使用php处理不存在的图片资源
php多态与动态绑定
以上就是php统计网站在线人数的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product