部落在以前浏览其它的网站时,经常会发现有的wordpress网站会在某个地方显示当前网站在线人数和您是第几位访客这样一个栏目.于是网上找了一下,但大多数都只给出了当前网站在线人数的代码,部落想,既然要显示,就干脆把您是第几位访客这个栏目一起当做一行来显示,不是更好吗?于是自已动手制作了这个功能,效果如下图:
而要实现这个功能也是很简单的,这里我们分两步走,实现过程如下:
一.当前在线人数统计
1.这里我们是在自已的网站根目录下新建一个count.txt的文本文件,然后来读取其中的数据,所以在测试时,您要将您的根目录下方的对应文件保持可写,也就是属性设置为777.
2.在您的当前主题的functions文件下添加以下代码:
//检测在线人数 function counter_user_online($temp){ $user_online = “count.txt”; //保存人数的文件,网站根目录下 touch($user_online);//如果没有此文件,则创建 $timeout = 120;//120秒内没动作者,认为掉线 $user_arr = file_get_contents($user_online); $user_arr = explode(‘#’,rtrim($user_arr,’#’)); $temp = array(); foreach($user_arr as $value){ $user = explode(“,”,trim($value)); if (($user[0] != getenv(‘REMOTE_ADDR’)) && ($user[1] > time())) { //如果不是本用户IP并时间没有超时则放入到数组中 array_push($temp,$user[0].”,”.$user[1]); } } array_push($temp,getenv(‘REMOTE_ADDR’).”,”.(time() + ($timeout)).’#’); //保存本用户的信息 $user_arr = implode(“#”,$temp); //写入文件 $fp = fopen($user_online,”w”); flock($fp,LOCK_EX); //flock() 不能在NFS以及其他的一些网络文件系统中正常工作 fputs($fp,$user_arr); flock($fp,LOCK_UN); fclose($fp); echo count($temp); } |
3.这时我们再在自已的侧边栏或者底部添加显示代码,例如部落在最前面的示例图是显示在footer.php这个文件中的,那么在footer.php中加入以下代码:
当前在线人数: <?php counter_user_online($temp); ?> 人 |
到此,当前在线人数这个功能就完成了.
二.您是第几位访客
1.和第一个功能一样,我们先在网站根目录新建一个counter.txt的文本文件.
2.在footer.php这个文件我们刚加入代码下方再添加以下代码:
<?php $counterFile = “counter.txt”; function displayCounter($counterFile) { $fp = fopen($counterFile,”rw”); $num = fgets($fp,5); $num += 1; print “您是第 “.”$num”.” 位访客”; exec( “rm -rf $counterFile”); exec( “echo $num > $counterFile”); } if (!file_exists($counterFile)) { exec( “echo 0 > $counterFile”); } displayCounter($counterFile); ?> |
至于样式的话,不要也没关系,不过部落建议您还是根据自已的网站适当调整一下的好.
评论前必须登录!
注册