A-A+
一个PHP访问图片计数器
为了直观显示一个网站有多少用户浏览,需要在网页底部放一个图片计数器来记录,也就是当前页面的访问量,这里的访问量是实际的浏览量,也就是每一个用户登陆网页只记录一次,然后将其相加到记录器当中。
因为只要记录了访问的人次就可以得到实际了访问量,所以这里的访问量是保存在 txt 文件里的,比如我们新建一个 conunt.txt 文件,放在根目录,录入数字 89655,这个数字是自定义的,新站嘛,总不希望从0开始。
记录访问量的 conunt.txt 已经建立好了,那么我们要做的就是每进来一个访客,初始化数字就要 +1,而且一个 IP 只累积加一次,等再刷新时无效,这样就保证了数据的有效性。
效果图如下:
首先新建一个 index.php 文件,录入以下代码:
<?php session_start(); //首先 session_start(); 是为了使用 session 函数来判断 已访问的用户 $f_open=fopen('count.txt','r+'); //使用 fopen 以可写的方式打开 count.t xt 文件 $count=fgets($f_open); //fgets函数用来从文件中读入字符串 if($_SESSION[count]==''){ $count++; rewind($f_open); fwrite($f_open,$count); fclose($f_open); $_SESSION[count]=1; } //如果 $_SESSION[count]=='' 值为空的话,赋值变量 $count 值加1,然后写 入到 count.txt 中。否则的话,$count 变量值不变。 ?>
上面的代码已经实现了访问量的增加,那么下面就要将count.txt中的数字
以图片的形式读出来了。
<?php $f_open=fopen('count.txt','r+'); //首先打开 count.txt 文件 $count=fgets($f_open); //读取打开的文件 settype($count,"string"); //设置变量类型 $len=strlen($count); //返回字符串的长度 $str=str_repeat("0",6-$len); //字符串重复指定的次数 echo "当前的访问量为:"; for($i=0;$i<=strlen($str);$i++){ echo '<img src=images/0.gif>'; } //循环读取某个字串 for($j=0;$j<$len;$j++){ switch ($count[$j]){ case "0"; $img[$j]="0.gif";break; case "1"; $img[$j]="1.gif";break; case "2"; $img[$j]="2.gif";break; case "3"; $img[$j]="3.gif";break; case "4"; $img[$j]="4.gif";break; case "5"; $img[$j]="5.gif";break; case "6"; $img[$j]="6.gif";break; case "7"; $img[$j]="7.gif";break; case "8"; $img[$j]="8.gif";break; case "9"; $img[$j]="9.gif";break; } echo "<img src=images/".$img[$j].".>"; //循环读取并将其以图 片格式的方式显示出来。 } ?>
至此,一个简单的php访问图片计数器就做出来了,图片的文件保存在 images/ 目录下,可以换成我们自己做的精美的图片,更换即可,将本段代码直接放到网页的页脚处即可。
请教博主一个问题,我有一段给博主类似的代码,但是计数器不会自加1,每次都是原始访问数,我把代码放上来,可否指教一下?
?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);
?>
Notice: Use of undefined constant count – assumed ‘count’ in D:\phpStudy\WWW\web\index.php on line 14
为什么会出现这样的提示??
不错哈
前台模板要怎么调用呀
挺实用哦。
现在不大想放访问量统计,如果太少多没面子啊。嘿嘿。
比较直观,直接复制就能用了。
好多新鲜东西
这个是很有用的!
支持!另外恭喜博主在海棠秋客英雄榜升级为“以一敌十”,请悉知!
好看,不错。
不错的东西,呵呵。
我会把conunt.txt 文件始次数字设为855454545222,新站嘛,总不希望从沒的人气的,哈哈!
都上千亿了,比百度还厉害。
这个统计比较实用
博主是做什么职业的?对PHP语言很熟悉啊
全职php程序员。
这个有用,收藏了……
要在根目录下新建txt吗.
要在根目录下新建 txt 保存数据的。
很详细的图片记数器源码,新手谢了.
谢谢老大了,已经用到页面上了。
soga,原来如此