站三界导航
首页 PHP代码PHP怎么记录用户停留页面的时间

PHP怎么记录用户停留页面的时间

  • PHP代码
  • 来源:站三界导航
  • 68阅读
  • 2022-06-30

一个比较奇葩的要求,需要在TP中记录用户停留访问的时间,而TP已经生成了纯HTML静态网页,在网页中添加时间记录是需要PHP文件配合的0,时间记录是要写在PHP文件里面的,而包含PHP文件的是JS引入,这就好比网页中的浏览数一个道理,好了,我们先看一下,HTML网页中的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);  
  
  }  
  
}  
这里把用户停留页面的时间生成了一个log 的 txt 文件,如果相要记录在数据库里面的话,直接在PHP中写逻辑就可以了,这里的逻辑是所有用户的访问时间,如果我们要记录单个会员用户的话,同样在PHP中写逻辑就OK了。 本文结束
本文来自投稿,不代表站三界导航立场,如若转载,请注明出处:https://www.zhansanjie.com/article/details/8939.html

版权声明:

1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

2、本站仅提供信息发布平台,不承担相关法律责任。

3、若侵犯您的版权或隐私,请联系本站管理员删除。

4、本文由会员转载自互联网,如果您是文章原创作者,请联系本站注明您的版权信息。

分享
站三界导航
本站声明:本站严格遵守国家相关法律规定,非正规网站一概不予收录。本站所有资料取之于互联网,任何公司或个人参考使用本资料请自辨真伪、后果自负,站三界导航不承担任何责任。在此特别感谢您对站三界导航的支持与厚爱。