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 相关文章推荐
source.php查看源文件
Dec 09 PHP
PHP5函数小全(分享)
Jun 06 PHP
php防止sql注入代码实例
Dec 18 PHP
php查看请求头信息获取远程图片大小的方法分享
Dec 25 PHP
PHP实现的多彩标签效果代码分享
Aug 21 PHP
PHP中使用sleep函数实现定时任务实例分享
Aug 21 PHP
PHP实现Soap通讯的方法
Nov 03 PHP
使用PHP生成二维码的方法汇总
Jul 22 PHP
php之static静态属性与静态方法实例分析
Jul 30 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
Jun 12 PHP
使用PHP json_decode可能遇到的坑与解决方法
Aug 03 PHP
Yii框架 session 数据库存储操作方法示例
Nov 18 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随机抽奖实例分析
2015/03/04 PHP
PHP输入输出流学习笔记
2015/05/12 PHP
php实现简单的上传进度条
2015/11/17 PHP
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
读jQuery之九 一些瑕疵说明
2011/06/21 Javascript
javascript高级学习笔记整理
2011/08/14 Javascript
Extjs中TabPane如何嵌套在其他网页中实现思路及代码
2013/01/27 Javascript
ie9 提示'console' 未定义问题的解决方法
2014/03/20 Javascript
javascript操作符&quot;!~&quot;详解
2015/02/10 Javascript
JavaScript常用标签和方法总结
2015/09/01 Javascript
JS实现横向拉伸动感伸缩菜单效果代码
2015/09/04 Javascript
jQuery的deferred对象使用详解
2016/09/25 Javascript
微信小程序 SocketIO 实例讲解
2016/10/13 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
webpack配置的最佳实践分享
2017/04/21 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
js实现拖拽上传图片功能
2017/08/01 Javascript
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
2017/12/05 Javascript
浅谈Vue SPA 首屏加载优化实践
2017/12/15 Javascript
vue获取时间戳转换为日期格式代码实例
2019/04/17 Javascript
修改layui的后台模板的左侧导航栏可以伸缩的方法
2019/09/10 Javascript
JavaScript类的继承多种实现方法
2020/05/30 Javascript
webpack安装配置与常见使用过程详解(结合vue)
2020/06/01 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
python3爬取数据至mysql的方法
2018/06/26 Python
python 使用pygame工具包实现贪吃蛇游戏(多彩版)
2019/10/30 Python
python wxpython 实现界面跳转功能
2019/12/17 Python
python中rb含义理解
2020/06/18 Python
巴西在线鞋店:Shoestock
2017/10/28 全球购物
J2EE是技术还是平台还是框架
2016/08/14 面试题
大学生军训自我鉴定范文
2014/09/18 职场文书
2014年个人技术工作总结
2014/12/08 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
python图像处理基本操作总结(PIL库、Matplotlib及Numpy)
2021/06/08 Python
JAVA SpringMVC实现自定义拦截器
2022/03/16 Python