Maison > Article > développement back-end > Comment compter le nombre de visiteurs sur un site Web php
Utiliser PHP pour établir des statistiques sur les visiteurs d'un site Web semble un peu inutile. Pensez-y, il existe de nombreux outils statistiques utiles que vous n'utilisez pas, mais vous souhaitez les écrire vous-même ? Cependant, il est parfois préférable de procéder en fonction des besoins du projet.
Je pense juste que je dis des bêtises, je veux toujours parler des définitions et des différences entre PV, UV et IP.
PV (page vue) (Apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise)
Pages vues, c'est-à-dire cette page (site ) Combien de fois a-t-il été ouvert ? Par exemple, lorsque vous ouvrez la page d'accueil de ce blog et que vous entrez ensuite cet article, vous avez contribué 2PV à ce blog, et cet article a 1PV. Si vous faites maintenant glisser votre main et appuyez sur F5, alors vous avez contribué 3PV à ce blog (page d'accueil 1 + article 2).
UV(Unqie Vistor)
Le nombre de visiteurs uniques fait référence à différentes personnes physiques qui accèdent et parcourent une page Web via Internet. Généralement, COOKIE est utilisé pour distinguer. Par exemple, si vous visitez cet article maintenant, l'UV de ce blog sera augmenté de 1. Ensuite, vous fermez le navigateur, puis votre ami utilise votre ordinateur pour visiter ce blog. A ce moment, l'UV ne changera pas car le. navigateur Le cookie n'a pas changé. Pour un autre exemple, si vous utilisez Sina Weibo pour vous connecter et visiter ce blog, puis vous déconnectez de votre compte, puis utilisez Tengxu Weibo pour vous connecter et visiter ce blog, alors l'UV de ce blog sera augmenté de 2 car le Le navigateur a enregistré deux utilisateurs.
IP (protocole Internet)
Le nombre d'IP indépendantes enregistre le nombre réel d'IP qui accèdent à ce blog Vous pouvez utiliser un programme pour l'enregistrer, ou vous-même. peut analyser les statistiques des journaux du serveur.
Comme mentionné précédemment, IP et UV sont un peu déroutants. Cela peut être compris à travers les situations suivantes.
Vous avez plusieurs ordinateurs à la maison, tous connectés à un routeur à la maison. Ce blog est accessible via différents PC. Un seul numéro IP sera enregistré car l'IP externe est la même. Cependant, plusieurs UV seront enregistrés car plusieurs COOKIES différents sont enregistrés. Même l'utilisation de différents navigateurs sur le même ordinateur peut ajouter deux UV. Une fois connecté, même si plusieurs utilisateurs accèdent au même PC et au même navigateur, plusieurs UV seront ajoutés. Malheureusement, vous vous êtes soudainement déconnecté d'Internet. Après un certain temps, vous avez reconnecté et l'adresse IP a changé. À ce moment-là, le numéro IP de ce blog sera augmenté de 1. Cependant, si vous utilisez toujours le même PC et le même navigateur. accédez à ce blog, l'UV ne changera pas car votre COOKIE n'a pas changé.
Cela peut probablement être compris, non ? Bien sûr, vous pouvez dire que les UV existent dans le COOCKIE du client. Cela ne signifie-t-il pas qu'il peut être falsifié ? C'est rassurant. Tout d'abord, qui n'aurait rien à voir avec cela ? Deuxièmement, je me souviens que dans « Big Data Era », l'auteur semblait souligner à plusieurs reprises l'inexactitude des données.
<?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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!