一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP基于cookie實現統計在線人數功能示例

PHP基于cookie實現統計在線人數功能示例

2019-07-03 18:30PHP編程者 PHP教程

這篇文章主要介紹了PHP基于cookie實現統計在線人數功能,涉及php文件讀寫、cookie訪問、計算等相關操作技巧,需要的朋友可以參考下

本文實例講述了PHP基于cookie實現統計在線人數功能。分享給大家供大家參考,具體如下:

online.php文件:

<?php
/*
  @ PHP 在線人數統計程序
  Copyright (c) www.vgot.cn by Pader 1:25 2009年1月7日
  Homepage:http://www.vgot.cn
  QQ: 270075658
  How to use it: <script src="online.php"></script>
  note: 一般獨立在線人數統計程序都是統計在線的IP數,而這并不準確
  例如局域網的訪問者,比如公司,學校機房和網吧,雖然內網IP不同,但是外網IP都是一樣
  如果同一個局域網的無論多少人人訪問你的網站則只被認為是一個人
  這個小巧的程序解決了此問題,它以電腦為單為,每臺電腦便算一個訪問者
  當然因為使用的是COOKIE,如果你在同一臺電腦上使用兩種不同核心的瀏覽器訪問那就別當別論了
*/
$filename = 'online.txt'; //數據文件
$cookiename = 'VGOTCN_OnLineCount'; //cookie名稱
$onlinetime = 600; //在線有效時間,單位:秒 (即600等于10分鐘)
$online = file($filename); 
$nowtime = time(); 
$nowonline = array();
/*
  @ 得到仍然有效的數據
*/
foreach($online as $line) {
  $row = explode('|',$line);
  $sesstime = trim($row[1]);
  if(($nowtime - $sesstime) <= $onlinetime) { //如果仍在有效時間內,則數據繼續保存,否則被放棄不再統計
    $nowonline[$row[0]] = $sesstime; //獲取在線列表到數組,會話ID為鍵名,最后通信時間為鍵值
  }
}
/*
  @ 創建訪問者通信狀態
    使用cookie通信
    COOKIE 將在關閉瀏覽器時失效,但如果不關閉瀏覽器,此 COOKIE 將一直有效,直到程序設置的在線時間超時
*/
if(isset($_COOKIE[$cookiename])) { //如果有COOKIE即并非初次訪問則不添加人數并更新通信時間
  $uid = $_COOKIE[$cookiename];
} else { //如果沒有COOKIE即是初次訪問
  $vid = 0; //初始化訪問者ID
  do { //給用戶一個新ID
    $vid++;
    $uid = 'U'.$vid;
  } while (array_key_exists($uid,$nowonline));
  setcookie($cookiename,$uid);
}
$nowonline[$uid] = $nowtime; //更新現在的時間狀態
/*
  @ 統計現在在線人數
*/
$total_online = count($nowonline);
/*
  @ 寫入數據
*/
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);
  }
}
  echo 'document.write("'.$total_online.'");'; 
?>

通過注釋中的說明可知,如下js語句訪問即可:

<script src="online.php"></script>

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产麻豆91网在线看 | 久久99热在线观看7 久久99精品涩AV毛片观看 | 鄂州一家三口完整版免费 | 免费标准高清看机机桶机机 | 亚洲黄色色图 | 美女扒开胸罩露出胸大乳 | 小夫妻天天恶战 | 日本手机在线视频 | 欧美成狂野欧美在线观看 | 韩国久播影院理论片不卡影院 | 99超级碰碰成人香蕉网 | 18美女光胸光屁屁洗澡 | 国产精品原创永久在线观看 | 加勒比一本大道在线 | 视频在线观看一区二区 | 无码日韩精品一区二区免费 | 亚洲剧情在线 | 猛操女人 | 国产精品第页 | 精品久久久久中文字幕日本 | 国产日产欧产精品精品软件 | 美琪美腿白丝交小说 | 亚洲性综合网 | 日韩国产欧美成人一区二区影院 | 校花在公车上被内射好舒 | 小早川怜子亚洲综合中文字幕 | 国产成人青草视频 | 欧美一级片免费 | 果冻传媒九一制片厂 | 精品淑女少妇AV久久免费 | bt天堂在线观看国产 | 爱情岛论坛自拍永久入口 | 九九精品国产亚洲A片无码 九九99热久久999精品 | 男女发生性关系视频 | 久久国产36精品色熟妇 | 久久精品国产亚洲AV天美18 | 被强上后我成瘾了小说 | 国产麻豆网 | 久久国产精品高清一区二区三区 | 国产精品亚洲精品日韩已满 | 美女被狂揉下部羞羞动漫 |