This article describes the example of how to use php to count the number of people online on a website. Share it with everyone for your reference. The specific implementation method is as follows:
?
|
<🎜>function getIpAddress() { // Get the current user’s IP address<🎜> <🎜>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("File opening failed");<🎜> <🎜>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; //If you don’t refresh the page for 15 minutes<🎜> <🎜>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; ?> |
I hope this article will be helpful to everyone’s PHP programming design.