本文实例讲述了PHP记录页面停留时间的方法。分享给大家供大家参考,具体如下:
首先在要监控的页面添加JS如下
1
2
3
4
5
6
7
8
9
|
<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 代码如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<?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程序设计有所帮助。