随笔 - 317, 文章 - 0, 评论 - 453, 阅读 - 114万
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

PHP 记录页面停留时间

Posted on   PHP-张工  阅读(3498)  评论(0编辑  收藏  举报

首先在要监控的页面添加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);
    }
}

  

 

点击右上角即可分享
微信分享提示