PHP记录页面停留时间的方法


Posted in PHP onMarch 30, 2016

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
php实现的遍历文件夹下所有文件,编辑删除
Jan 05 PHP
为PHP初学者的8点有效建议
Nov 20 PHP
Discuz Uchome ajaxpost小技巧
Jan 04 PHP
PHP循环语句笔记(foreach,list)
Nov 29 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
Nov 07 PHP
php绘图中显示不出图片的原因及解决
Mar 05 PHP
ThinkPHP中RBAC类的四种用法分析
Nov 24 PHP
PHP实现事件机制的方法
Jul 10 PHP
Laravel实现自定义错误输出内容的方法
Oct 10 PHP
php基于PDO实现功能强大的MYSQL封装类实例
Feb 27 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
Feb 07 PHP
PHP大文件分块上传功能实例详解
Jul 22 PHP
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
Mar 30 #PHP
PHP的邮件群发系统phplist配置方法详细总结
Mar 30 #PHP
Laravel路由设定和子路由设定实例分析
Mar 30 #PHP
PHP的Yii框架中过滤器相关的使用总结
Mar 29 #PHP
简介PHP的Yii框架中缓存的一些高级用法
Mar 29 #PHP
深入解析PHP的Yii框架中的缓存功能
Mar 29 #PHP
PHP实现可自定义样式的分页类
Mar 29 #PHP
You might like
PHP面向对象编程快速入门
2006/12/14 PHP
PHP Global定义全局变量使用说明
2013/08/15 PHP
php遍历文件夹和文件列表示例分享
2014/03/11 PHP
php通过function_exists检测函数是否存在的方法
2015/03/18 PHP
php准确计算复活节日期的方法
2015/04/18 PHP
PHP实现单文件、多个单文件、多文件上传函数的封装示例
2019/09/02 PHP
Javascript倒计时页面跳转实例小结
2013/09/11 Javascript
Javascript中浮点数相乘的一个解决方法
2014/06/03 Javascript
使用Bootstrap框架制作查询页面的界面实例代码
2016/05/27 Javascript
关于function类中定义变量this的简单说明
2016/05/28 Javascript
js实现九宫格拼图小游戏
2017/02/13 Javascript
vue初尝试--项目结构(推荐)
2018/01/30 Javascript
微信小程序自定义底部弹出框
2020/11/16 Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
2019/10/14 Javascript
node.JS事件机制与events事件模块的使用方法详解
2020/02/06 Javascript
JS+CSS实现3D切割轮播图
2020/03/21 Javascript
json_decode 索引为数字时自动排序问题解决方法
2020/03/28 Javascript
[01:03:33]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
使用sklearn的cross_val_score进行交叉验证实例
2020/02/28 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
2020/03/16 Python
Python生成器常见问题及解决方案
2020/03/21 Python
Python连接Impala实现步骤解析
2020/08/04 Python
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
模具设计与制造专业应届生求职信
2013/10/18 职场文书
化工专业个人的求职信范文
2013/11/28 职场文书
创业计划书模版
2014/02/05 职场文书
广告业务员岗位职责
2014/02/06 职场文书
2014年六一儿童节演讲稿
2014/05/23 职场文书
护理目标管理责任书
2014/07/25 职场文书
重阳节演讲稿:尊敬帮助老人 弘扬传统美德
2014/09/25 职场文书
优秀班组申报材料
2014/12/25 职场文书
普宁寺导游词
2015/02/04 职场文书
三严三实·严以律己心得体会
2016/01/13 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python