PHP图形数字计数器的达成
发布时间:2021-11-22 12:29:09 所属栏目:教程 来源:互联网
导读:php图形数字计数器,是现在网站中经常使用的方法,它的基本功能是针对单个用户而言,登录网站后计数器的值加一,用户刷新网页,计数器的值不会增加。这一点功能的实现是利用session来实现的,当用户登录时,检测session变量的值,如果该值为空,则在存放登录
php图形数字计数器,是现在网站中经常使用的方法,它的基本功能是针对单个用户而言,登录网站后计数器的值加一,用户刷新网页,计数器的值不会增加。这一点功能的实现是利用session来实现的,当用户登录时,检测session变量的值,如果该值为空,则在存放登录人数的文件中读取现有的访问量,将该值加一,关闭文件,然后输出改值;如果session变量的值不为空,则计数器的值不增加,即使在用户刷新的时候也不增加。 session实现计数有一点不足的地方,就是虽然用户在该页面刷新时计数器的值不会增加,但是当用户关闭浏览器,再次打开这个网页时,计数器的值仍会增加,不过这样也是符合计数的原理的;在这一点和cookie不同的是,利用cookie实现用户刷新计数器的值不更新,关闭浏览器打开也是不更新,但是这是在一定的期限内的,当用户设置的cookie过期之后,计数器的值还是会增加;这样分析来看,如果要非常精确的计数,有多少人访问网站就要用IP来实现,而且要存储在数据库中,这个相对前两种来说麻烦一点,但是利用数据库保存IP可以实现更精确的统计,不单单实现用户刷新不重复计数,还能实现统计总的访问量,某个月的访问量,某天的访问量,甚至精确到某个IP的访问量等,在这里就先介绍利用session实现的图形数字计数器: 在根目录下创建:data.txt的文件,用来保存访问量。 $handle=fopen("data.txt","r"); if(!$handle){ echo "打开文件失败!"; }else{ echo "您是本站的第:"; $counter = fgets($handle,1024); // 取出文件中的现有的访问量的值 fclose($handle); $count = strlen($counter); // 这里实现的是6为数字的计数,例如002056,在这里计算出counter的长度,那么它前面的就是全部输出0就可以了 for($i=0;$i<6-$count;$i++){ echo "<img src='images/0.png'> "; // 2056前面都输出 0 的那个小png的图片 } } for($i=0;$i<$count;$i++){ $disgn = substr($counter,$i,1); // 这里利用substr()函数实现一位一位的数字来比较,第一个参数是string类型的变量,第二个参数是从第几个开始输出,第三个变量是 输出几个 switch($disgn) { // 各自比较 转化为图片的形式 case '0': $rst[$i]='0.png'; break; case '1'; $rst[$i]='1.png'; break; case '2': $rst[$i]='2.png'; break; case '3': $rst[$i]='3.png'; break; case '4': $rst[$i]='4.png'; break; case '5': $rst[$i]='5.png'; break; case '6': $rst[$i]='6.png'; break; case '7': $rst[$i]='7.png'; break; case '8': $rst[$i]='8.png'; break; case '9': $rst[$i]='9.png'; break; } echo "<img src='images/".$rst[$i]."'> "; } echo "位访客"; 这里要准备0—9的图片素材,保存在根目录下的images文件夹中就可以了,具体的实现效果是: (编辑:东莞站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |