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脚本的10个技巧(4)
Oct 09 PHP
php 分页函数multi() discuz
Jun 21 PHP
通过5个php实例细致说明传值与传引用的区别
Aug 08 PHP
解析左右值无限分类的实现算法
Jun 20 PHP
PHP中使用sleep函数实现定时任务实例分享
Aug 21 PHP
php图片的二进制转换实现方法
Dec 15 PHP
php实现根据词频生成tag云的方法
Apr 17 PHP
PHP中的数组处理函数实例总结
Jan 09 PHP
ThinkPHP框架里隐藏index.php
Apr 12 PHP
php实现批量删除挂马文件及批量替换页面内容完整实例
Jul 08 PHP
PHP SESSION跨页面传递失败解决方案
Dec 11 PHP
如何使用php生成zip压缩包
Apr 21 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中利用wsdl创建标准webservice的实现代码
2011/12/07 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
laravel 解决Validator使用中出现的问题
2019/10/25 PHP
基于jQuery的左右滚动实现代码
2010/12/03 Javascript
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
js控制表单不能输入空格的小例子
2013/11/20 Javascript
js Array操作的最简短最容易理解方法
2013/12/09 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
2015/04/01 Javascript
jquery实现九宫格大转盘抽奖
2015/11/13 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
想学习javascript JS和jQuery哪个重要 先学哪个
2016/12/11 Javascript
纯JS实现表单验证实例
2016/12/24 Javascript
百度地图API之百度地图退拽标记点获取经纬度的实现代码
2017/01/12 Javascript
vue项目首屏打开速度慢的解决方法
2019/03/31 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
JavaScript中如何调用Java方法
2020/09/16 Javascript
pycharm 使用心得(九)解决No Python interpreter selected的问题
2014/06/06 Python
python实现中文转换url编码的方法
2016/06/14 Python
OpenCV图像颜色反转算法详解
2019/05/13 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
2019/12/12 Python
Python编译为二进制so可执行文件实例
2019/12/23 Python
python文件读取失败怎么处理
2020/06/23 Python
python 如何设置守护进程
2020/10/29 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
美国顶尖折扣时尚购物网:Bluefly
2016/08/28 全球购物
俄罗斯品牌服装和鞋子的在线商店:KUPIVIP
2019/10/27 全球购物
到底Java是如何传递参数的?是by value或by reference?
2012/07/13 面试题
触摸春天教学反思
2014/02/03 职场文书
房地产资料员岗位职责
2014/07/02 职场文书
2014年基层党建工作总结
2014/11/11 职场文书
大雁塔英文导游词
2015/02/10 职场文书
2016年春季开学典礼新闻稿
2015/11/25 职场文书
vue实现简单数据双向绑定
2021/04/28 Vue.js
使用pandas生成/读取csv文件的方法实例
2021/07/09 Python
Python按顺序遍历并读取文件夹中文件
2022/04/29 Python
MySQL中的 inner join 和 left join的区别解析(小结果集驱动大结果集)
2023/05/08 MySQL