用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中文网其他相关文章!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

在PHP中,可以利用implode()函数的第一个参数来设置没有分隔符,该函数的第一个参数用于规定数组元素之间放置的内容,默认是空字符串,也可将第一个参数设置为空,语法为“implode(数组)”或者“implode("",数组)”。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

Dreamweaver Mac版
视觉化网页开发工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。