注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

~~

~~

 
 
 

日志

 
 

网站访问量统计方式(计数器)  

2012-09-06 11:33:52|  分类: php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
在开发网站计数器的过程中,最重要的就是防止网站重复的计数,如果计数器不能控制重复计数,那么计数器也就没有任何的意义.

1、通过session
      原理是当前页面被访问时,初始化一个session变量,并赋值为空;判断session的值是否为空,为空则变量增      加1,并且为session变量赋值为1;
     代码如下:
   <?php
         session_start();
         $open=fopen("count.txt","r+");
         $count=fgets($open);
         if($_SESSION[temp]==""){
              $count=$count+1;
      rewind($open);
              fwrite($open,$count);
      fclose($open);
      $_SESSION[temp]==1;
         }
    ?>
session 防止重复的计数只对当前页面有效,重新打开页面时计数器仍然会加1

2、通过cookie
      通过cookie实现不重复计数的原理与session的实现原理类似.关键在于session是对于当前页面的计数统计,而cookie是从时间上防止重复计数。
       cookie的实现同样也是通过访问当前页面,判断当前指定的cookie变量是否存在,如果不存在则计数器加1,并创建cookie变量,设置cookie的过期时间;如果存在,则计数器不加1;
  <?php
         $open=fopen("count.txt","r+");
         $count=fgets($open);
        if(empty($_COOKIE['cookie_name'])){
              setcookie("cookie_name",value,time()+1800);
      $count=$count+1;
      rewind($open);
      fwrite($open,$count);
      fclose($open);
         }
   ?>
   cookie防止重复计数是从时间的角度上避免,当cookie过期后,计数器才会增加;否则,计数器将一直不会增加;还有一种情况就是认为的将cookie进行清理;这样计数器也会增加
 
3、通过IP
      IP防止重复计数是最准确的方法;它是通过客户端IP来防止重复计数;没有任何时间、页面的限制;只要是曾经访问过的ip计数器都不会再增加;
      如果要通过IP防止,这里要结合数据库,在数据库中记录访问过的IP;将访问过该网站的IP存储到数据库中

 可以通过:
        $ip=getenv("REMOTE_ADDR");     //获取客户端IP地址

 通过IP不仅可以统计访问量,还可以统计网站被同一ip访问的次数。
 

















  评论这张
 
阅读(2967)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018