最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php使用Session和文件統(tǒng)計(jì)在線人數(shù)

 更新時(shí)間:2015年07月04日 11:06:40   投稿:junjie  
這篇文章主要介紹了php使用Session和文件統(tǒng)計(jì)在線人數(shù),本文直接給出實(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)的訪問(wèn)者,比如公司,學(xué)校機(jī)房和網(wǎng)吧,雖然內(nèi)網(wǎng)IP不同,但是外網(wǎng)IP都是一樣 
如果同一個(gè)局域網(wǎng)的無(wú)論多少人人訪問(wèn)你的網(wǎng)站則只被認(rèn)為是一個(gè)人 
這個(gè)小巧的程序解決了此問(wèn)題,它以電腦為單為,每臺(tái)電腦便算一個(gè)訪問(wèn)者 
當(dāng)然因?yàn)槭褂玫氖荂OOKIE,如果你在同一臺(tái)電腦上使用兩種不同核心的瀏覽器訪問(wèn)那就別當(dāng)別論了 
*/ 
$filename = 'online.txt'; //數(shù)據(jù)文件,如果沒(méi)有新建 
$cookiename = 'VGOTCN_OnLineCount'; //cookie名稱 
$onlinetime = 600; //在線有效時(shí)間,單位:秒 (即600等于10分鐘) 
 
@$online = file($filename); //數(shù)據(jù)文件,如果沒(méi)有新建 
$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)建訪問(wèn)者通信狀態(tài) 
使用cookie通信 
COOKIE 將在關(guān)閉瀏覽器時(shí)失效,但如果不關(guān)閉瀏覽器,此 COOKIE 將一直有效,直到程序設(shè)置的在線時(shí)間超時(shí) 
*/ 
if(isset($_COOKIE[$cookiename])) { //如果有COOKIE即并非初次訪問(wèn)則不添加人數(shù)并更新通信時(shí)間 
$uid = $_COOKIE[$cookiename]; 
} else { //如果沒(méi)有COOKIE即是初次訪問(wèn) 
$vid = 0; //初始化訪問(wèn)者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); 

相關(guān)文章

最新評(píng)論

沾益县| 太康县| 绥滨县| 垦利县| 中江县| 靖江市| 高密市| 黄石市| 襄城县| 五大连池市| 仲巴县| 祁东县| 泰州市| 鄂温| 德清县| 体育| 若羌县| 大竹县| 双流县| 绥滨县| 大理市| 呈贡县| 包头市| 宁强县| 永定县| 绥滨县| 洪湖市| 鸡东县| 织金县| 新密市| 左贡县| 灵丘县| 绥江县| 房产| 吕梁市| 宜昌市| 武山县| 福泉市| 陵川县| 临泉县| 正阳县|