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