此文章是vip文章,如何查看?  

1,点击链接获取密钥 http://nicethemes.cn/product/view29882.html

2,在下方输入文章查看密钥即可立即查看当前vip文章


php图形数字计数器的实现

  • 时间:
  • 浏览:
  • 来源:互联网

       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'>&nbsp;";       // 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]."'>&nbsp;";
      }
      echo "位访客";

这里要准备0—9的图片素材,保存在根目录下的images文件夹中就可以了,具体的实现效果是:


本文链接http://element-ui.cn/news/show-577022.aspx