php使用Session和文件統(tǒng)計(jì)在線人數(shù)
<?php /* @ PHP 在線人數(shù)統(tǒng)計(jì)程序 Copyright (c) by Pader 1:25 2009年1月7日 How to use it: <script src="online.php"></script> note: 一般獨(dú)立在線人數(shù)統(tǒng)計(jì)程序都是統(tǒng)計(jì)在線的IP數(shù),而這并不準(zhǔn)確 例如局域網(wǎng)的訪問者,比如公司,學(xué)校機(jī)房和網(wǎng)吧,雖然內(nèi)網(wǎng)IP不同,但是外網(wǎng)IP都是一樣 如果同一個(gè)局域網(wǎng)的無論多少人人訪問你的網(wǎng)站則只被認(rèn)為是一個(gè)人 這個(gè)小巧的程序解決了此問題,它以電腦為單為,每臺(tái)電腦便算一個(gè)訪問者 當(dāng)然因?yàn)槭褂玫氖荂OOKIE,如果你在同一臺(tái)電腦上使用兩種不同核心的瀏覽器訪問那就別當(dāng)別論了 */ $filename = 'online.txt'; //數(shù)據(jù)文件,如果沒有新建 $cookiename = 'VGOTCN_OnLineCount'; //cookie名稱 $onlinetime = 600; //在線有效時(shí)間,單位:秒 (即600等于10分鐘) @$online = file($filename); //數(shù)據(jù)文件,如果沒有新建 $nowtime = time(); $nowonline = array(); /* @ 得到仍然有效的數(shù)據(jù) */ if(!empty($online)){ foreach($online as $line) { $row = explode('|',$line); $sesstime = trim($row[1]); if(($nowtime - $sesstime) <= $onlinetime) { //如果仍在有效時(shí)間內(nèi),則數(shù)據(jù)繼續(xù)保存,否則被放棄不再統(tǒng)計(jì) $nowonline[$row[0]] = $sesstime; //獲取在線列表到數(shù)組,會(huì)話ID為鍵名,最后通信時(shí)間為鍵值 } } } /* @ 創(chuàng)建訪問者通信狀態(tài) 使用cookie通信 COOKIE 將在關(guān)閉瀏覽器時(shí)失效,但如果不關(guān)閉瀏覽器,此 COOKIE 將一直有效,直到程序設(shè)置的在線時(shí)間超時(shí) */ if(isset($_COOKIE[$cookiename])) { //如果有COOKIE即并非初次訪問則不添加人數(shù)并更新通信時(shí)間 $uid = $_COOKIE[$cookiename]; } else { //如果沒有COOKIE即是初次訪問 $vid = 0; //初始化訪問者ID do { //給用戶一個(gè)新ID $vid++; $uid = 'U'.$vid; } while (array_key_exists($uid,$nowonline)); setcookie($cookiename,$uid); } $nowonline[$uid] = $nowtime; //更新現(xiàn)在的時(shí)間狀態(tài) /* @ 統(tǒng)計(jì)現(xiàn)在在線人數(shù) */ $total_online = count($nowonline); /* @ 寫入數(shù)據(jù) */ if($fp = @fopen($filename,'w')) { if(flock($fp,LOCK_EX)) { rewind($fp); foreach($nowonline as $fuid => $ftime) { $fline = $fuid.'|'.$ftime."\n"; @fputs($fp,$fline); } flock($fp,LOCK_UN); fclose($fp);
- php流量統(tǒng)計(jì)功能的實(shí)現(xiàn)代碼
- php實(shí)現(xiàn)用戶在線時(shí)間統(tǒng)計(jì)詳解
- php下用cookie統(tǒng)計(jì)用戶訪問網(wǎng)頁次數(shù)的代碼
- php實(shí)現(xiàn)統(tǒng)計(jì)網(wǎng)站在線人數(shù)的方法
- php利用cookie實(shí)現(xiàn)訪問次數(shù)統(tǒng)計(jì)代碼
- 也談php網(wǎng)站在線人數(shù)統(tǒng)計(jì)
- PHP實(shí)現(xiàn)統(tǒng)計(jì)在線人數(shù)功能示例
- php簡(jiǎn)單統(tǒng)計(jì)在線人數(shù)的方法
- PHP實(shí)現(xiàn)簡(jiǎn)單網(wǎng)站訪客統(tǒng)計(jì)的方法實(shí)例
相關(guān)文章
php+layui數(shù)據(jù)表格實(shí)現(xiàn)數(shù)據(jù)分頁渲染代碼
今天小編就為大家分享一篇php+layui數(shù)據(jù)表格實(shí)現(xiàn)數(shù)據(jù)分頁渲染代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10PHP實(shí)現(xiàn)的簡(jiǎn)單三角形、矩形周長(zhǎng)面積計(jì)算器分享
這篇文章主要介紹了PHP實(shí)現(xiàn)的簡(jiǎn)單三角形、矩形周長(zhǎng)面積計(jì)算器分享,本文的實(shí)現(xiàn)相對(duì)較簡(jiǎn)單,同時(shí)提供了代碼文件下載,需要的朋友可以參考下2014-11-11thinkPHP自動(dòng)驗(yàn)證機(jī)制詳解
這篇文章主要介紹了thinkPHP自動(dòng)驗(yàn)證機(jī)制,結(jié)合實(shí)例形式分析了thinkPHP自動(dòng)驗(yàn)證機(jī)制的格式、原理與具體操作技巧,需要的朋友可以參考下2016-12-12詳解php幾行代碼實(shí)現(xiàn)CSV格式文件輸出
本篇文章主要介紹了詳解php幾行代碼實(shí)現(xiàn)CSV格式文件輸出,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07使用PHP處理數(shù)據(jù)庫數(shù)據(jù)如何將數(shù)據(jù)返回客戶端并顯示當(dāng)前狀態(tài)
這篇文章給大家介紹使用php處理大量數(shù)據(jù),每處理一個(gè)數(shù)據(jù)返回客戶端顯示當(dāng)前狀態(tài)的方法,對(duì)PHP處理數(shù)據(jù)庫數(shù)據(jù)返回客戶端并顯示當(dāng)前狀態(tài)的相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2016-02-02微信網(wǎng)頁授權(quán)(OAuth2.0) PHP 源碼簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了微信網(wǎng)頁授權(quán)(OAuth2.0) PHP 源碼簡(jiǎn)單實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08PHP實(shí)現(xiàn)遠(yuǎn)程下載文件到本地
經(jīng)常寫采集器發(fā)布接口需要使用到遠(yuǎn)程附件的功能,所以自己寫了一個(gè)PHP遠(yuǎn)程下載文件到本地的函數(shù),一般情況下已經(jīng)夠用了,如果服務(wù)器支持CURL函數(shù),程序則會(huì)優(yōu)先選擇CURL,有需要的小伙伴可以參考下。2015-05-05