php實(shí)現(xiàn)統(tǒng)計(jì)網(wǎng)站在線(xiàn)人數(shù)的方法
本文實(shí)例講述了php實(shí)現(xiàn)統(tǒng)計(jì)網(wǎng)站在線(xiàn)人數(shù)的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
<?php function getIpAddress() { // 取得當(dāng)前用戶(hù)的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("文件打開(kāi)失敗"); 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分鐘不刷新頁(yè)面就 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; ?>
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
- php流量統(tǒng)計(jì)功能的實(shí)現(xiàn)代碼
- php實(shí)現(xiàn)用戶(hù)在線(xiàn)時(shí)間統(tǒng)計(jì)詳解
- php下用cookie統(tǒng)計(jì)用戶(hù)訪(fǎng)問(wèn)網(wǎng)頁(yè)次數(shù)的代碼
- php利用cookie實(shí)現(xiàn)訪(fǎng)問(wèn)次數(shù)統(tǒng)計(jì)代碼
- php使用Session和文件統(tǒng)計(jì)在線(xiàn)人數(shù)
- 也談php網(wǎng)站在線(xiàn)人數(shù)統(tǒng)計(jì)
- PHP實(shí)現(xiàn)統(tǒng)計(jì)在線(xiàn)人數(shù)功能示例
- php簡(jiǎn)單統(tǒng)計(jì)在線(xiàn)人數(shù)的方法
- PHP實(shí)現(xiàn)簡(jiǎn)單網(wǎng)站訪(fǎng)客統(tǒng)計(jì)的方法實(shí)例
相關(guān)文章
php中curl、fsocket、file_get_content三個(gè)函數(shù)的使用比較
最近做一個(gè)網(wǎng)頁(yè)小偷程序的時(shí)候才發(fā)現(xiàn)file_get_content已經(jīng)完全不能滿(mǎn)足需求了。我覺(jué)得,在讀取遠(yuǎn)程內(nèi)容的時(shí)候,file_get_content除了使用比curl便捷以外,其他都沒(méi)有curl好2014-05-05php 將bmp圖片轉(zhuǎn)為jpg等其他任意格式的圖片
php 將bmp圖片轉(zhuǎn)為jpg等其他任意格式的圖片 ,這樣大家就不用為圖片是bmp格式的而發(fā)愁了。2009-06-06PHP中usort在值相同時(shí)改變?cè)嘉恢脝?wèn)題的解決方法
從 PHP 4.1.0 后,usort 在比較的值相同時(shí),原始位置可能會(huì)改變,如果比較的2個(gè)值相同,則它們?cè)谂判蚪Y(jié)果中的順序是隨機(jī)的。如果你需要保持相同值的原始位置,可以參考本文的方法。2011-11-11PHP實(shí)現(xiàn)SQL語(yǔ)句格式化功能的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)SQL語(yǔ)句格式化功能的方法,基于github上開(kāi)源代碼實(shí)現(xiàn)的SQL語(yǔ)句格式化功能,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2017-07-07PHP swoole中http_server的配置與使用方法實(shí)例分析
這篇文章主要介紹了PHP swoole中http_server的配置與使用方法,結(jié)合實(shí)例形式分析了swoole中swoole_http_server類(lèi)的功能及http_server的配置、創(chuàng)建服務(wù)相關(guān)使用技巧,需要的朋友可以參考下2020-03-03