> 백엔드 개발 > PHP 문제 > PHP 웹 사이트 방문자 수를 계산하는 방법

PHP 웹 사이트 방문자 수를 계산하는 방법

(*-*)浩
풀어 주다: 2023-02-24 09:10:02
원래의
3981명이 탐색했습니다.

PHP를 사용하여 웹사이트 방문자 통계를 작성하는 것은 다소 불필요해 보입니다. 사용하지 않는 유용한 통계 도구가 너무 많지만 직접 작성하고 싶으십니까? 그러나 때로는 프로젝트의 필요에 따라 진행하는 것이 더 나을 때도 있습니다.

PHP 웹 사이트 방문자 수를 계산하는 방법

헛소리라고 생각해도 PV, UV, IP의 정의와 차이점에 대해 이야기하고 싶습니다.

PV(페이지 조회)(추천 학습: PHP 프로그래밍 입문부터 숙달까지)

페이지 조회수, 즉 이 블로그의 홈페이지를 여는 등 이 페이지(사이트)가 몇 번이나 열렸는지를 나타냅니다. 이 기사는 현재 이 블로그에 2PV를 기부했으며, 이 기사에는 1PV가 있습니다. 이제 슬라이드하고 F5를 누르면 이 블로그에 3PV를 기부한 것입니다(홈페이지 1 + 기사). 2).

UV(Unqie Vistor)

순방문자수는 인터넷을 통해 웹페이지에 접속하고 탐색하는 다양한 자연인을 의미합니다. 일반적으로 COOKIE를 구별하는데 사용됩니다. 예를 들어 지금 이 글을 방문하면 이 블로그의 UV가 1만큼 증가합니다. 그런 다음 브라우저를 닫으면 친구가 컴퓨터를 사용하여 이 블로그를 방문합니다. 이때 UV는 변경되지 않습니다. 브라우저 쿠키는 변경되지 않았습니다. 또 다른 예를 들어, Sina Weibo를 사용하여 로그인하고 이 블로그를 방문한 다음 계정에서 로그아웃한 다음 Tengxu Weibo를 사용하여 로그인하고 이 블로그를 방문하면 이 블로그의 UV는 2만큼 증가합니다. 브라우저는 두 명의 사용자를 기록했습니다.

IP(인터넷 프로토콜)

독립 IP 수는 이 블로그에 접속하는 실제 IP 수를 기록하는 프로그램을 이용하여 기록할 수도 있고, 서버 로그 통계를 분석할 수도 있습니다.

앞서 말씀드린 것처럼 IP와 UV는 좀 헷갈리는데요. 다음의 상황을 통해 이해할 수 있다.

집에 여러 대의 컴퓨터가 있고, 모두 집에 있는 라우터에 연결되어 있습니다. 이 블로그는 서로 다른 PC를 통해 접속하며, 외부 IP가 동일하기 때문에 IP 번호는 하나만 기록됩니다. 그러나 여러 개의 서로 다른 쿠키가 기록되기 때문에 여러 개의 UV가 기록됩니다. 동일한 컴퓨터에서 서로 다른 브라우저를 사용하더라도 두 개의 UV가 추가될 수 있습니다. 로그인하면 여러 사용자가 동일한 PC, 동일한 브라우저에 접속하더라도 UV가 여러 개 추가됩니다. 아쉽게도 인터넷이 갑자기 끊어졌습니다. 잠시 후 다시 전화를 걸어 IP가 변경되었습니다. 이때, 이 블로그의 IP는 1씩 증가하게 됩니다. 하지만, 여전히 동일한 PC와 브라우저를 사용하고 계시다면. 이 블로그에 액세스하면 COOKIE가 변경되지 않았기 때문에 UV는 변경되지 않습니다.

이건 아마 이해가 되시겠죠? 물론 클라이언트의 COOCKIE에 UV가 존재한다고 할 수도 있겠지만, 위조가 가능하다는 뜻은 아니겠죠? 첫째, 이 일과 관련이 없는 사람이 어디 있겠습니까? 둘째, '빅 데이터 시대'에 저자가 데이터의 부정확성을 반복적으로 강조했던 것으로 기억됩니다.

<?php  header(&#39;Content-type:text/html;charset=utf-8&#39;);

 //统计流量(人数,访问次数,用户IP)

 //假设用户访问,得到IP地址

$remote = $_SERVER[&#39;REMOTE_ADDR&#39;];

 //拼凑要写入到文件的数据:ip|2018-5-20 10:24:15

$write = $remote . &#39;|&#39; . date(&#39;Y-m-d H:i:s&#39;);

 //输出信息:挡墙网页已经被第几次访问,当前用户是第几次来访问

$str = file_get_contents(&#39;record.txt&#39;);

 //定义一个变量保存当前用户的点击次数

$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(&#39;record.txt&#39;,$write,FILE_APPEND);

 //输出信息

echo "当前网页已经是第{$count}次被访问<br/>";

echo "您是第{$clickcount}次来访问该网页<br/>";

 //localhost/record.php
로그인 후 복사

위 내용은 PHP 웹 사이트 방문자 수를 계산하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿