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下保存远程图片到本地的办法
Aug 08 PHP
div li的多行多列 无刷新分页示例代码
Oct 16 PHP
php实现12306余票查询、价格查询示例
Apr 17 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
Jul 12 PHP
PHP设置进度条的方法
Jul 08 PHP
Yii中表单用法实例详解
Jan 05 PHP
php代码检查代理ip的有效性
Aug 19 PHP
PHP中文字符串截断无乱码解决方法
Oct 10 PHP
php并发加锁示例
Oct 17 PHP
PHP实现多图上传(结合uploadify插件)思路分析
Nov 30 PHP
Yii框架实现多数据库配置和操作的方法
May 25 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
Apr 03 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/10/09 PHP
PHP对象相互引用的内存溢出实例分析
2014/08/28 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
php表单处理操作
2017/11/16 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
2018/04/12 PHP
实例讲解php实现多线程
2019/01/27 PHP
JavaScript入门教程(10) 认识其他对象
2009/01/31 Javascript
js+css实现的简单易用兼容好的分页
2013/12/30 Javascript
jQuery搜索同辈元素方法
2015/02/10 Javascript
JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
2015/11/06 Javascript
jQuery实现邮箱下拉列表自动补全功能
2016/09/08 Javascript
JavaScript定义数组的三种方法(new Array(),new Array('x','y')
2016/10/04 Javascript
JavaScript获取URL中参数querystring的方法详解
2016/10/11 Javascript
Zabbix添加Node.js监控的方法
2016/10/20 Javascript
Bootstrap table两种分页示例
2016/12/23 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
2017/06/20 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
vue 内置过滤器的使用总结(附加自定义过滤器)
2018/12/11 Javascript
Nuxt.js 数据双向绑定的实现
2019/02/17 Javascript
vue项目强制清除页面缓存的例子
2019/11/06 Javascript
vue 授权获取微信openId操作
2020/11/13 Javascript
python处理cookie详解
2014/02/07 Python
Python中的魔法方法深入理解
2014/07/09 Python
Python编写简单的HTML页面合并脚本
2016/07/11 Python
使用python和Django完成博客数据库的迁移方法
2018/01/05 Python
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
PyTorch 对应点相乘、矩阵相乘实例
2019/12/27 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
2020/07/14 Python
加拿大最大的箱包及旅游配件零售商:Bentley Leathers
2017/07/19 全球购物
《木笛》教学反思
2014/03/01 职场文书
民主评议党员登记表自我评价
2014/10/20 职场文书
永不妥协观后感
2015/06/10 职场文书
党员身份证明材料
2015/06/19 职场文书
创业计划书之孕婴生活馆
2019/11/11 职场文书
python实现会员信息管理系统(List)
2022/03/18 Python
Python 全局空间和局部空间
2022/04/06 Python