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&amp;mysql(四)
Oct 09 PHP
PHP如何编写易读的代码
Jul 10 PHP
请php正则走开
Mar 15 PHP
PHP Error与Logging函数的深入理解
Jun 03 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
Apr 01 PHP
php中http与https跨域共享session的解决方法
Dec 20 PHP
PHP获取某个月最大天数(最后一天)的方法
Jul 29 PHP
Symfony学习十分钟入门经典教程
Feb 03 PHP
理解php依赖注入和控制反转
May 11 PHP
php好代码风格的阶段性总结
Jun 25 PHP
php图片添加水印例子
Jul 20 PHP
IOS 开发之NSDictionary转换成JSON字符串
Aug 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
深入apache配置文件httpd.conf的部分参数说明
2013/06/28 PHP
PHP header()函数常用方法总结
2014/04/11 PHP
PHP采集静态页面并把页面css,img,js保存的方法
2014/12/23 PHP
用PHP写的一个冒泡排序法的函数简单实例
2016/05/26 PHP
php学习笔记之mb_strstr的基本使用
2018/02/03 PHP
Thinkphp5.0 框架视图view的比较标签用法分析
2019/10/12 PHP
使用JS 清空File控件的路径值
2013/07/08 Javascript
浏览器缩放检测的js代码
2014/09/28 Javascript
jquery.ajax之beforeSend方法使用介绍
2014/12/08 Javascript
Node.js开发之访问Redis数据库教程
2015/01/14 Javascript
js图片轮播特效代码分享
2015/09/07 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
Bootstrap导航条鼠标悬停下拉菜单
2017/01/04 Javascript
Node.js  事件循环详解及实例
2017/08/06 Javascript
Vue中android4.4不兼容问题的解决方法
2018/09/04 Javascript
4个顶级开源JavaScript图表库
2018/09/29 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
2020/07/18 Javascript
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
python爬取足球直播吧五大联赛积分榜
2018/06/13 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
Python中__repr__和__str__区别详解
2019/11/07 Python
用python中的matplotlib绘制方程图像代码
2019/11/21 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
python 通过邮件控制实现远程控制电脑操作
2020/03/16 Python
CSS3实现王者匹配时的粒子动画效果
2019/04/12 HTML / CSS
英国最大的宠物食品和宠物用品网上零售商: Zooplus
2016/08/01 全球购物
KIKO MILANO西班牙官网:意大利领先的化妆品和护肤品品牌
2019/05/03 全球购物
小米俄罗斯授权商店:Xiaomi俄罗斯
2019/12/08 全球购物
销售会计岗位职责
2014/03/15 职场文书
企业贷款委托书格式
2014/09/12 职场文书
医德医风个人总结
2015/02/28 职场文书
2016关于读书活动的心得体会
2016/01/14 职场文书
解析MySQL binlog
2021/06/11 MySQL
基于HTML十秒做出淘宝页面
2021/10/24 HTML / CSS
开发微信小程序之WXSS样式教程
2022/04/18 HTML / CSS