本文实例讲述了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 = '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);
}
}
希望本文所述对大家PHP程序设计有所帮助。