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 相关文章推荐
JS中encodeURIComponent函数用php解码的代码
Mar 01 PHP
php上传文件,创建递归目录的实例代码
Oct 18 PHP
php中调用其他系统http接口的方法说明
Feb 28 PHP
php小技巧之过滤ascii控制字符
May 14 PHP
php使用$_POST或$_SESSION[]向js函数传参
Sep 16 PHP
PHP使用自定义方法实现数组合并示例
Jul 07 PHP
php基于curl主动推送最新内容给百度收录的方法
Oct 14 PHP
PHP两种实现无级递归分类的方法
Mar 02 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
Aug 01 PHP
Laravel框架路由和控制器的绑定操作方法
Jun 12 PHP
php xhprof使用实例详解
Apr 15 PHP
Laravel + Elasticsearch 实现中文搜索的方法
Feb 02 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 whois查询API制作方法
2011/06/23 PHP
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
2014/06/22 PHP
Laravel框架基于ajax实现二级联动功能示例
2019/01/17 PHP
PHP字符串中抽取子串操作实例分析
2019/06/22 PHP
Laravel-admin之修改操作日志的方法
2019/09/30 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
javascript 一段左右两边随屏滚动的代码
2009/06/18 Javascript
jQuery实现调整表格单列顺序完整实例
2016/06/20 Javascript
jQuery表单插件ajaxForm实例详解
2017/01/17 Javascript
Web 开发中Ajax的Session 超时处理方法
2017/01/19 Javascript
js实现随机点名系统(实例讲解)
2017/10/18 Javascript
在react-router4中进行代码拆分的方法(基于webpack)
2018/03/08 Javascript
js实现input密码框显示/隐藏功能
2020/09/10 Javascript
6行代码实现微信小程序页面返回顶部效果
2018/12/28 Javascript
Vue中的循环及修改差值表达式的方法
2019/08/29 Javascript
详解vue-flickity的fullScreen功能实现
2020/04/07 Javascript
Python实现pdf文档转txt的方法示例
2018/01/19 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
使用Python自动生成HTML的方法示例
2019/08/06 Python
python 实现批量替换文本中的某部分内容
2019/12/13 Python
python中sklearn的pipeline模块实例详解
2020/05/21 Python
CSS3教程(3):border-color网页边框色彩
2009/04/02 HTML / CSS
国际礼品店:GiftsnIdeas
2018/05/03 全球购物
贝佳斯官方网站:Borghese
2020/05/08 全球购物
JSP和EJB可以共享HttpSession么?EJB里面可以改变session里面的内容
2013/06/05 面试题
劳资人员岗位职责
2013/12/19 职场文书
应届毕业生求职自荐书
2014/01/03 职场文书
房屋买卖委托公证书
2014/04/08 职场文书
2014年百日安全生产活动总结
2014/05/04 职场文书
务虚会发言材料
2014/12/25 职场文书
给老婆的保证书
2015/01/16 职场文书
婚礼男方父母答谢词
2015/09/29 职场文书
Python中使用subprocess库创建附加进程
2021/05/11 Python
python 命令行传参方法总结
2021/05/25 Python
雄兵连:第三季先行图公开,天使恶魔联合,银河之力的新力量
2021/06/11 国漫
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
2021/06/29 Python