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投票程序源码
Mar 11 PHP
php 调试利器debug_print_backtrace()
Jul 23 PHP
浅谈php扩展imagick
Jun 02 PHP
PHP实现抓取HTTPS内容
Dec 01 PHP
PHP使用mysql_fetch_row查询获得数据行列表的方法
Mar 18 PHP
CodeIgniter控制器之业务逻辑实例分析
Jan 20 PHP
php获取文件后缀的9种方法
Mar 22 PHP
Yii框架上传图片用法总结
Mar 28 PHP
100行PHP代码实现socks5代理服务器
Apr 28 PHP
php利用imagemagick实现复古老照片效果实例
Feb 16 PHP
PHP格式化显示时间date()函数代码
Oct 03 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
Oct 11 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在线打包程序源码
2008/07/27 PHP
php ss7.5的数据调用 (笔记)
2010/03/08 PHP
PHP数组内存耗用太多问题的解决方法
2010/04/05 PHP
php最简单的删除目录与文件实现方法
2014/11/28 PHP
非常经典的PHP文件上传类分享
2016/05/15 PHP
PHP封装的完整分页类示例
2018/08/21 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
获取DOM对象的几种扩展及简写
2006/10/09 Javascript
js网页侧边随页面滚动广告效果实现
2011/04/14 Javascript
JavaScript splice()方法详解
2020/09/22 Javascript
js清除input中type等于file的值域(示例代码)
2013/12/24 Javascript
node.js学习总结之调式代码的方法
2014/06/25 Javascript
让人蛋疼的JavaScript语法特性
2014/09/30 Javascript
js获取滚动距离的方法
2015/05/30 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
2016/09/27 Javascript
jQuery读取XML文件的方法示例
2017/02/03 Javascript
[19:14]DOTA2 HEROS教学视频教你分分钟做大人-维萨吉
2014/06/24 DOTA
python 远程统计文件代码分享
2015/05/14 Python
Python 实现数据库(SQL)更新脚本的生成方法
2017/07/09 Python
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
python实现批量按比例缩放图片效果
2018/03/30 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
Python批处理删除和重命名文件夹的实例
2018/07/11 Python
python定向爬虫校园论坛帖子信息
2018/07/23 Python
python编写简单端口扫描器
2019/09/04 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
2020/04/14 Python
Pandas将列表(List)转换为数据框(Dataframe)
2020/04/24 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
机电一体化专业推荐信
2013/12/03 职场文书
2014端午节活动策划方案
2014/01/27 职场文书
常务副总经理任命书
2014/06/05 职场文书
相亲大会策划方案
2014/06/05 职场文书
2016元旦晚会主持人开场白和结束语
2015/12/03 职场文书
python基于tkinter实现gif录屏功能
2021/05/19 Python