>  기사  >  백엔드 개발  >  페이지 체류 시간을 기록하기 위한 PHP 메소드 코드 예

페이지 체류 시간을 기록하기 위한 PHP 메소드 코드 예

怪我咯
怪我咯원래의
2017-07-14 10:57:162405검색

프로그램 개발을 하다 보면 사용자가 웹사이트 페이지를 얼마나 오랫동안 탐색했는지 알고 싶을 때가 있는데, 이 기능을 어떻게 구현해야 할까요? 이 글에서는 주로 PHP에서 페이지 체류 시간을 기록하는 방법을 소개하는데, 파일과 시간에 대해 js와 결합된 PHP의 관련 운영 기술이 필요하면 참고할 수 있습니다. 자세한 내용은 다음과 같습니다.

먼저 모니터링할 페이지에 추가 JS는 다음과 같습니다

<script>
var dt1 = new Date();
window.onbeforeunload = function(){
  var dt2 = new Date();
  var ms = dt2.getTime() - dt1.getTime();
  var img = new Image();
  img.src = &#39;log.php?stay_ms=&#39; + ms;
}
</script>

log.php 코드는 다음과 같습니다

<?php
$refer = &#39;&#39;;
if (isset($_SERVER[&#39;HTTP_REFERER&#39;]))
{
  $refer = $_SERVER[&#39;HTTP_REFERER&#39;];
}
$user_agent = &#39;&#39;;
if (isset($_SERVER[&#39;HTTP_USER_AGENT&#39;]))
{
  $user_agent = $_SERVER[&#39;HTTP_USER_AGENT&#39;];
}
$ip = $_SERVER[&#39;REMOTE_ADDR&#39;];
if (isset($_GET[&#39;stay_ms&#39;]))
{
  $log = &#39;[&#39; . date("Y-m-d H:i:s") . &#39;] &#39; . $ip . &#39; &#39; . $refer . &#39; @ &#39; . number_format($_GET[&#39;stay_ms&#39;]) . "ms\r\n";
  file_put_contents("log/log_" . date("Y-m-d") . ".txt", $log, FILE_APPEND);
}
if ($_SERVER[&#39;QUERY_STRING&#39;] == &#39;&#39; || isset($_GET[&#39;day&#39;]))
{
  $day = isset($_GET[&#39;day&#39;]) ? $_GET[&#39;day&#39;] : date("Y-m-d");
  $file = "log/log_" .$day . ".txt";
  if (file_exists($file))
  {
    $log = file_get_contents($file);
    echo nl2br($log);
  }
}

위 내용은 페이지 체류 시간을 기록하기 위한 PHP 메소드 코드 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.