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

首頁 > 網站 > 建站經驗 > 正文

php使用Session和文件統計在線人數

2024-04-25 20:38:22
字體:
來源:轉載
供稿:網友

<?php

/*

@ PHP 在線人數統計程序

Copyright (c) by Pader 1:25 2009年1月7日

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();

/*

@ 得到仍然有效的數據

*/

if(!empty($online)){

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);

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 隆德县| 长垣县| 浮梁县| 乌海市| 家居| 郧西县| 高密市| 宁安市| 敦煌市| 河北区| 句容市| 银川市| 子洲县| 长泰县| 工布江达县| 崇义县| 扎兰屯市| 娄底市| 黄浦区| 青铜峡市| 托克逊县| 深水埗区| 类乌齐县| 集安市| 马尔康县| 赤壁市| 睢宁县| 南部县| 英山县| 湖北省| 赣州市| 韶关市| 尉犁县| 新蔡县| 万载县| 杭州市| 南阳市| 巴青县| 璧山县| 六盘水市| 五华县|