Home > Article > Backend Development > How to count the number of visitors to a php website
Using PHP to do website visitor statistics sounds a bit unnecessary. Think about it, there are so many useful statistical tools that you don’t use, but you want to write it yourself? However, sometimes it is better to go according to the needs of the project.
Just think I’m talking nonsense, I still want to talk about the definitions and differences between PV, UV, and IP.
PV(page view) (Recommended learning: PHP programming from entry to proficiency)
Page views, that is, this page (site) How many times has it been opened? For example, when you open the homepage of this blog and then enter this article, you will have contributed 2PV to this blog, and this article will have 1PV. If you now slide your hand and press F5, you will have contributed 3PV to this blog ( Home 1 Article 2).
UV(Unqie Vistor)
The number of unique visitors refers to different natural people who access and browse a web page through the Internet. Generally, COOKIE is used to distinguish. For example, if you visit this article now, the UV of this blog will be increased by 1. Then you close the browser, and then your friend uses your computer to visit this blog. At this time, the UV will not change because the browser The cookie has not changed. For another example, if you use Sina Weibo to log in to visit this blog, then log out of your account, and then use Tengxu Weibo to log in to visit this blog, then the UV of this blog will be increased by 2 because the browser has recorded two users.
IP (internet protocol)
The number of independent IPs records the real number of IPs that access this blog. You can use a program to record it, or you can analyze server log statistics.
As mentioned earlier, IP and UV are somewhat confusing. It can be understood through the following situations.
You have multiple computers at home, all connected to a router at home. This blog is accessed through different PCs. Only one IP number will be recorded, because the external IP is the same. However, multiple UVs will be recorded because multiple different COOKIES are recorded. Even using different browsers on the same computer may add two UVs. When logged in, even if the same PC and the same browser are accessed by multiple users, multiple UVs will be added. Unfortunately, you suddenly disconnected from the Internet. After a while, you dialed up again and the IP changed. At this time, the IP number of this blog will be increased by 1. However, if you still use the same PC and browser to access this blog, , the UV will not change because your COOKIE has not changed.
This can probably be understood, right? Of course, you may say that UV exists in the client's COOCKIE. Doesn't this mean it can be forged? This is reassuring. First of all, who would have nothing to do with this? Secondly, I remember that in "Big Data Era", the author seemed to repeatedly emphasize the inaccuracy of data.
<?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
The above is the detailed content of How to count the number of visitors to a php website. For more information, please follow other related articles on the PHP Chinese website!