手机
当前位置:查字典教程网 >编程开发 >php教程 >php实现统计网站在线人数的方法
php实现统计网站在线人数的方法
摘要:本文实例讲述了php实现统计网站在线人数的方法。分享给大家供大家参考。具体实现方法如下:$val){$val=trim($val);if($...

本文实例讲述了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 . "rn"; 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("rn", $arr); $str.="rn"; writeover($fileCount, $str, 'w', 0); unset($arr); } return $count; } $time = time(); $ip = getIpAddress(); $online_num = count_online_num($time,$ip); echo $online_num; ?>

希望本文所述对大家的php程序设计有所帮助。

【php实现统计网站在线人数的方法】相关文章:

Yii实现自动加载类地图的方法

php中smarty区域循环的方法

php使用curl打开https网站的方法

php 字母大小写转换的方法

php计算到指定日期还有多少天的方法

php采集中国代理服务器网的方法

PHP实现多线程的两个方法

php动态函数调用方法

php调整服务器时间的方法

php实现随机显示图片方法汇总

精品推荐
分类导航