欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-03-27 19:28:43
...
用PHP做网站访客统计,听起来好像有点多此一举,想想有那么多好用的统计工具不用,偏偏想自己写?不过,有时还是按项目需求走吧。

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