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 相关文章推荐
Oracle Faq(Oracle的版本)
Oct 09 PHP
PHP中的extract的作用分析
Apr 09 PHP
常用的php对象类型判断
Aug 27 PHP
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
Jun 04 PHP
测试php连接mysql是否成功的代码分享
Jan 24 PHP
php中Y2K38的漏洞解决方法实例分析
Sep 22 PHP
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
Nov 11 PHP
php获取发送给用户的header信息的方法
Mar 16 PHP
PHP扩展Memcache分布式部署方案
Dec 06 PHP
PHP实现的网站目录扫描索引工具
Sep 08 PHP
php json_encode与json_decode详解及实例
Dec 13 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
Feb 14 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学习之整理字符串
2011/04/17 PHP
rrmdir php中递归删除目录及目录下的文件
2011/05/15 PHP
php猴子选大王问题解决方法
2015/05/12 PHP
PHP使用file_get_content设置头信息的方法
2016/02/14 PHP
Prototype Hash对象 学习
2009/07/19 Javascript
Ruffy javascript 学习笔记
2009/11/30 Javascript
JQuery操作表格(隔行着色,高亮显示,筛选数据)
2012/02/23 Javascript
用jquery存取照片的具体实现方法
2013/06/30 Javascript
SuperSlide2实现图片滚动特效
2014/06/20 Javascript
javascript中字符串拼接详解
2014/09/26 Javascript
使用DNode实现php和nodejs之间通信的简单实例
2015/07/06 NodeJs
快速掌握WordPress中加载JavaScript脚本的方法
2015/12/17 Javascript
JS判断是否在微信浏览器打开的简单实例(推荐)
2016/08/24 Javascript
详解Javascript数据类型的转换规则
2016/12/12 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
Electron中实现大文件上传和断点续传功能
2018/10/28 Javascript
Node.js net模块功能及事件监听用法分析
2019/01/05 Javascript
vue.js中导出Excel表格的案例分析
2019/06/11 Javascript
js实现坦克大战游戏
2020/02/24 Javascript
解决vue net :ERR_CONNECTION_REFUSED报错问题
2020/08/13 Javascript
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
使用go和python递归删除.ds store文件的方法
2014/01/22 Python
Python 登录网站详解及实例
2017/04/11 Python
python清除字符串前后空格函数的方法
2018/10/21 Python
PyQt 实现使窗口中的元素跟随窗口大小的变化而变化
2019/06/18 Python
python调试神器PySnooper的使用
2019/07/03 Python
使用 Python 合并多个格式一致的 Excel 文件(推荐)
2019/12/09 Python
使用python3批量下载rbsp数据的示例代码
2019/12/20 Python
tensorflow 大于某个值为1,小于为0的实例
2020/06/30 Python
美国在线购买内衣网站:HerRoom
2020/02/22 全球购物
档案室主任岗位职责
2014/02/12 职场文书
借名购房协议书范本
2014/10/06 职场文书
个人作风建设自查报告
2014/10/22 职场文书
观看《筑梦中国》纪录片心得体会
2016/01/18 职场文书
四年级作文之植物
2019/09/20 职场文书
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android