PHP記錄頁(yè)面停留時(shí)間的方法

字號(hào):


    本文實(shí)例講述了PHP記錄頁(yè)面停留時(shí)間的方法。分享給大家供大家參考,具體如下:
    首先在要監(jiān)控的頁(yè)面添加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 = 'log.php?stay_ms=' + ms;
    }
    </script>
    log.php 代碼如下:
    <?php
    $refer = '';
    if (isset($_SERVER['HTTP_REFERER']))
    {
      $refer = $_SERVER['HTTP_REFERER'];
    }
    $user_agent = '';
    if (isset($_SERVER['HTTP_USER_AGENT']))
    {
      $user_agent = $_SERVER['HTTP_USER_AGENT'];
    }
    $ip = $_SERVER['REMOTE_ADDR'];
    if (isset($_GET['stay_ms']))
    {
      $log = '[' . date("Y-m-d H:i:s") . '] ' . $ip . ' ' . $refer . ' @ ' . number_format($_GET['stay_ms']) . "ms\r\n";
      file_put_contents("log/log_" . date("Y-m-d") . ".txt", $log, FILE_APPEND);
    }
    if ($_SERVER['QUERY_STRING'] == '' || isset($_GET['day']))
    {
      $day = isset($_GET['day']) ? $_GET['day'] : date("Y-m-d");
      $file = "log/log_" .$day . ".txt";
      if (file_exists($file))
      {
        $log = file_get_contents($file);
        echo nl2br($log);
      }
    }
    希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。