统计显现正在接见本身博客人数的功用,运用一些第三方统计东西(如cnzz)平常会有供应相干功用,然则假如emlog博主不想运用第三方统计东西,直接经由过程相干代码是不是能够完成?答案是能够的,只须要增加简朴的php代码就能够到达统计并显现当前正在接见emlog博客的在线人数。
把下面的代码增加至要显现在线人数的处所即可:
1234567891011121314151617181920212223 | <?php//起首你要有读写文件的权限,初次接见肯不显现,一般状况革新即可$online_log = "slzxrs.dat"; //保留人数的文件到根目录,$timeout = 30;//30秒内没动作者,以为掉线$entries = file($online_log);$temp = array();for ($i=0;$i<count($entries);$i++){$entry = explode(",",trim($entries[$i]));if(($entry[0] != getenv('REMOTE_ADDR')) && ($entry[1] > time())) {array_push($temp,$entry[0].",".$entry[1]."\n"); //掏出其他阅读者的信息,并去掉超时者,保留进$temp}}array_push($temp,getenv('REMOTE_ADDR').",".(time() + ($timeout))."\n"); //更新阅读者的时候$slzxrs = count($temp); //盘算在线人数$entries = implode("",$temp);//写入文件$fp = fopen($online_log,"w");flock($fp,LOCK_EX); //flock() 不能在NFS以及其他的一些收集文件体系中一般事情fputs($fp,$entries);flock($fp,LOCK_UN);fclose($fp);echo "在线人数:".$slzxrs."人";?> |
PS:以上代码不仅适用于emlog程序,也适用于别的php博客体系,仅须要举行简朴的调解即可。
原文地点:http://whdhr.com/xx/62.html

评论列表