国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php精確的統計在線人數的方法

2024-05-04 23:39:45
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了php精確的統計在線人數的方法,需要的朋友可以參考下

這是一個非常精確的,通過php實現統計在線人數的方法,想知道怎么實現的請耐心閱讀。

 

 
  1. <?php  
  2. $filename='online.txt';//數據文件  
  3. $cookiename='VGOTCN_OnLineCount';//cookie名稱  
  4. $onlinetime=600;//在線有效時間,單位:秒 (即600等于10分鐘)  
  5.  
  6. $online=file($filename);  
  7. //PHP file() 函數把整個文件讀入一個數組中。與 file_get_contents() 類似,不同的是 file() 將文件作為一個數組返回。數組中的每個單元都是文件中相應的一行,包括換行符在內。如果失敗,則返回 false  
  8. $nowtime=$_SERVER['REQUEST_TIME'];  
  9. $nowonline=array();  
  10. //得到仍然有效的數據  
  11. foreach($online as $line){  
  12. $row=explode('|',$line);  
  13. $sesstime=trim($row[1]);  
  14. if(($nowtime - $sesstime)<=$onlinetime){//如果仍在有效時間內,則數據繼續保存,否則被放棄不再統計  
  15. $nowonline[$row[0]]=$sesstime;//獲取在線列表到數組,會話ID為鍵名,最后通信時間為鍵值  
  16. }  
  17. }  
  18. /*  
  19. @創建訪問者通信狀態  
  20. 使用cookie通信  
  21. COOKIE 將在關閉瀏覽器時失效,但如果不關閉瀏覽器,此 COOKIE 將一直有效,直到程序設置的在線時間超時  
  22. */ 
  23. if(isset($_COOKIE[$cookiename])){//如果有COOKIE即并非初次訪問則不添加人數并更新通信時間  
  24. $uid=$_COOKIE[$cookiename];  
  25. }else{//如果沒有COOKIE即是初次訪問  
  26. $vid=0;//初始化訪問者ID  
  27. do{//給用戶一個新ID  
  28. $vid++;  
  29. $uid='U'.$vid;  
  30. }while(array_key_exists($uid,$nowonline));  
  31. setcookie($cookiename,$uid);  
  32. }  
  33. $nowonline[$uid]=$nowtime;//更新現在的時間狀態  
  34. //統計現在在線人數  
  35. $total_online=count($nowonline);  
  36. //寫入數據  
  37. if($fp=@fopen($filename,'w')){  
  38. if(flock($fp,LOCK_EX)){  
  39. rewind($fp);  
  40. foreach($nowonline as $fuid=>$ftime){  
  41. $fline=$fuid.'|'.$ftime."/n";  
  42. @fputs($fp,$fline);  
  43. }  
  44. flock($fp,LOCK_UN);  
  45. fclose($fp);  
  46. }  
  47. }  
  48. echo 'document.write("'.$total_online.'");';  

希望本文所述對大家學習php程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临漳县| 临朐县| 峡江县| 高阳县| 临桂县| 得荣县| 延川县| 天峨县| 积石山| 扶沟县| 南宫市| 西平县| 奎屯市| 醴陵市| 商南县| 游戏| 天长市| 页游| 鸡泽县| 沙田区| 壶关县| 射阳县| 介休市| 尼木县| 江津市| 罗田县| 玉环县| 福州市| 肃南| 万年县| 额济纳旗| 平乐县| 天全县| 乐东| 阳山县| 徐汇区| 望江县| 赣州市| 宁安市| 天全县| 黄山市|