PHP+memcache實現的網站線上人數統計程式碼
阿新 • • 發佈:2019-02-02
今天閒來無事,想在部落格統計中顯示線上人數。在網上找了好多例子,不是資料庫儲存資料就是檔案儲存,程式碼也看起來過於複雜。
晚上回來後,構思了下,看到我伺服器中安裝有 Memcache 服務,何不用 Memcache 實現呢。
下面就來講下實現過程:
效果圖:
實現程式碼:
?123456789101112131415161718192021222324252627282930313233343536 | <?php $mc = new Memcache (); // 連線memcache $mc ->connect ( "127.0.0.1" , 11211 ); // 獲取 線上使用者 IP 和 線上時間資料 $online_members = $mc ->get ( 'online_members' ); // 如果為空,初始化資料 if (! $online_members ) { $online_members = array (); } // 獲取使用者ip $ip = $_SERVER [ "REMOTE_ADDR" ]; // 為訪問使用者重新設定線上時間 $online_members [ $ip ] = time (); foreach ( $online_members as $k => $v ) { // 如果三分鐘後再未訪問頁面,剛視為過期 if (time() - $v > 180) { unset( $online_members [ $k ]); } } // 重新設定線上使用者資料 $mc ->set ( 'online_members' , $online_members ); // 重新獲取線上使用者資料 $online_members = $mc ->get ( 'online_members' ); // 輸入統計線上人數 echo count ( $online_members ); ?> |