• 技术文章 >后端开发 >PHP问题

    php网站的访问人数怎么统计

    (*-*)浩(*-*)浩2019-09-17 10:54:52原创1884
    用PHP做网站访客统计,听起来好像有点多此一举,想想有那么多好用的统计工具不用,偏偏想自己写?不过,有时还是按项目需求走吧。

    就当我是在废话吧,还是想唠叨一下PV、UV、IP三者的定义与区别。

    PV(page view)(推荐学习:PHP编程从入门到精通

    页面访问量,即此页面(站点)被打开过多少次,比如打开本博首页然后有电击进入了本文,此时便为本博贡献了2PV,本文1PV,如果您现在手滑按了下F5,那么就为本博贡献了3PV(首页1+本文2)。

    UV(Unqie Vistor)

    独立访客数,指的是不同的、通过互联网访问、浏览一个网页的自然人。一般情况下,是使用COOKIE进行区分。比如,您现在访问了本文,会给本博UV加1,随后您关闭了浏览器,接着您的朋友又用您的电脑访问了本博,此时,UV是不会变的,因为浏览器的COOKIE没变。再比如,您使用新浪微博登录访问的本博,随后退出帐号,又用腾许微博登录访问本博,那么先后就会给本博UV加2,因为浏览器记录到了两个用户。

    IP(internet protocol)

    独立IP数目,记录访问本博的真实IP数量,可以使用程序记录,也可以通过分析服务器日志统计。

    前面也有说到IP和UV这里有些绕。可以拿下面几种情况理解。

    您家里有多台电脑,都连了家里的一个路由器,这是通过不同的PC访问本博,只会记录一个IP数,因为对外IP是一样的。但是会记录多个UV,因为记录到了多个不同的COOKIE,甚至在同一电脑上使用不同的浏览器都有可能会加两个UV。在登录的情况下,就算同一PC、同一浏览器,只要是多个用户访问,都会加多个UV的。此时不巧您忽然断网了,过了一会重新拨号上网,IP变了,这时候本博的IP数会再加1,但是如果还是使用刚才的PC,刚才的浏览器访问本博的话,UV是不会变的,因为您的的COOKIE没变。

    这样大概就可以理解了吧?当然,或许您会说,UV存在客户端的COOCKIE中,这不就意味着可以伪造了吗?这个安心啦,首先不说谁会没事儿搞这个,其次是我记得《大数据时代》中,作者好像反复强调数据的非准确性。

    <?php  header('Content-type:text/html;charset=utf-8');
    
     //统计流量(人数,访问次数,用户IP)
    
     //假设用户访问,得到IP地址
    
    $remote = $_SERVER['REMOTE_ADDR'];
    
     //拼凑要写入到文件的数据:ip|2018-5-20 10:24:15
    
    $write = $remote . '|' . date('Y-m-d H:i:s');
    
     //输出信息:挡墙网页已经被第几次访问,当前用户是第几次来访问
    
    $str = file_get_contents('record.txt');
    
     //定义一个变量保存当前用户的点击次数
    
    $clickcount = 1;
    
     //判断当前有没有记录访问信息
    
     if($str){
    
     //有数据
    
    //以行区分当前文件有多少行
    
    $rows = explode("\r\n",$str);
    
    //获取已经访问过的用户的数量
    
    $count = count($rows) + 1;
    
      //判断当前用户是第几次访问该网页
    
    foreach($rows as $value){
    
    //value代表一个访问记录
    
    $ip = explode("|",$value);
    
       //判读是不是当前用户查看的
    
    if($ip[0] == $remote){
    
    //以前访问的记录与当前用户的ip相同
    
    $clickcount++;
    
    }
    
    }
    
      //修改write
    
    $write = "\r\n" . $write;
    
    }else{
    
    //当前用户是第一个来访问该网页
    
    $count = 1;  }
    
     //写入数据
    
    file_put_contents('record.txt',$write,FILE_APPEND);
    
     //输出信息
    
    echo "当前网页已经是第{$count}次被访问<br/>";
    
    echo "您是第{$clickcount}次来访问该网页<br/>";
    
     //localhost/record.php

    以上就是php网站的访问人数怎么统计的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php
    上一篇:php验证是否登陆 下一篇:php网页如何输出pdf
    PHP编程就业班

    相关文章推荐

    • php数组相加• php虚拟主机有什么用• php数组转字符串• php字符串截取的方法

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网