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