流量统计工具,诸如cnzz,百度统计,51啦,都是非常不错的,功能也很强大。闲来没事,自己写了一个简单的流量统计工具,不过只能统计访问时间,访问者ip,访问来路,受访页面,来自搜索引擎和搜索关键词。对比专业的流量统计工作来说肯定是微不足道的,但是说名了一点,其实大多数统计到的数据都没有我们想象那么难,有时候只需一个系统变量或者提取url中的一些信息就可以得出相应的统计信息。

(数据表结构和统计到的部分数据信息)

程序部分:

visited();    //调用统计函数(最好放在公共页面)

//访问量

function visited(){

$now_time = time();

$referer_url = $_SERVER['HTTP_REFERER'];    //来自的页面地址

$from_spider = $keywords = '';

if(!empty($referer_url)){

if(strstr($referer_url,'www.baidu.com')){

$referer_url = explode("&",$referer_url);

foreach($referer_url as $val){

if(strstr($val,'wd=')){

$keywords = explode("wd=",$val);

$keywords = $keywords[1];

}

}

$from_spider = '百度';

$keywords = urldecode($keywords);

}elseif(strstr($referer_url,'www.google')){

$referer_url = explode("&",$referer_url);

foreach($referer_url as $val){

if(strstr($val,'q=')){

$keywords = explode("q=",$val);

$keywords = $keywords[1];

}

}

$from_spider = '谷歌';

$keywords = urldecode($keywords);

}

}

//只判断了百度和谷歌的,其他的原理一样

$theData = array(

'access_time'    => $now_time,

'access_date'    => date("Y-m-d",$now_time),

'access_url'    => $_SERVER['REQUEST_URI'],

'referer_url'    => $_SERVER['HTTP_REFERER'],

'keywords'        => $keywords,

'ip_address'    => $_SERVER['REMOTE_ADDR'],

'from_spider'    => $from_spider,

);

$sql = "insert into stats (access_time,access_date,access_url,referer_url,keywords,ip_address,from_spider) values ('".$theData['access_time']."','".$theData['access_date']."','".$theData['access_url']."','".$theData['referer_url']."','".$theData['keywords']."','".$theData['ip_address']."','".$theData['from_spider']."')";

echo $sql; exit;mysql_query($sql);

}

php流量统计代码_用php编写的简单的网站流量统计程序相关推荐

  1. js装修计算器java代码_用js编写的简单的计算器代码程序

    最近编写的一个简单的计算器代码程序,先给大家展示一下 分享代码如下 #box{width: 295px; margin: 0 auto; text-align: justify; border: 1p ...

  2. 用python写名字代码_用python编写一个批量修改文件名的小程序

    1.问题描述: 原有的视频文件按序排列,但是文件名没有对内容的说明,如下图所示: 原视频文件列表.jpg 想将其批量修改成如下文件名: 图2:要改成的文件名.jpg 最终想要的效果: ok.jpg 不 ...

  3. java 银行存取款_使用JAVA编写一个简单的银行存取款程序

    package com.lw.thread; /* 银行账户类Account(不能透支), 包含账号id(10~16位数字),密码password(6位数字),户主姓名name,余额balence * ...

  4. NanoPi NEO Air使用八:编写个简单的驱动和应用程序

    NanoPi NEO Air使用一:介绍 NanoPi NEO Air使用二:固件烧录 NanoPi NEO Air使用三:OverlayFS.CPU温度和频率.wifi.蓝牙.npi-config ...

  5. vue代码怎么变成小程序_使用vue编写h5公众号跳转小程序的实现代码

    前言:我使用vue编写的h5公众号,实现点击小程序入口,打开小程序,微信官方文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_App ...

  6. python编写代码_用 Python 编写干净、可测试、高质量的代码

    用 Python 编写干净.可测试.高质量的代码 Noah Gift 2010 年 12 月 20 日发布 简介 编写软件是人所承担的最复杂的任务之一.AWK 编程语言和 "K and R ...

  7. python编写高质量代码_用 Python 编写干净、可测试、高质量的代码

    用 Python 编写干净.可测试.高质量的代码 Noah Gift 2010 年 12 月 20 日发布 简介 编写软件是人所承担的最复杂的任务之一.AWK 编程语言和 "K and R ...

  8. python cs开发框架_用Python编写一个简单的CS架构后门的方法

    用Python编写一个简单的CS架构后门的方法 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  用Python编写一个简单的CS架构后门的方法.txt ] (友情 ...

  9. python编写登录_通过Python编写一个简单登录功能过程解析

    通过Python编写一个简单登录功能过程解析 需求: 写一个登录的程序, 1.最多登陆失败3次 2.登录成功,提示欢迎xx登录,今天的日期是xxx,程序结束 3.要检验输入是否为空,账号和密码不能为空 ...

  10. java编写存钱_用Java编写一个简单的存款

    package desposit.money; public class DespositMoney { public static void main(String[] args) { Custom ...

最新文章

  1. AbstractAutowireCapableBeanFactory 类对容器生成的Bean 添加后置处理器
  2. CodeForces - 224C. Bracket Sequence (栈模拟)简单做法
  3. S3C2440中断跳转分析
  4. 查看gradle dependencies
  5. 湖北工程学院计算机宿舍,湖北工程学院宿舍条件,宿舍环境图片(10篇)
  6. matlab图像处理 推荐,Matlab计算机视觉、图像处理工具箱推荐
  7. 分享我的iOS app 开发杂谈3
  8. 【好】Paxos以及分布式一致性的学习
  9. winform直接控制云台_手持云台(稳定器)推荐,2020年双十一热销手机/相机手持云台(稳定器)推荐...
  10. 我的世界漆黑一片 看不见明天
  11. 进入网页就自动弹出层
  12. 中国细菌学试验市场趋势报告、技术动态创新及市场预测
  13. 【下载网页上的视频】IDM显示无法将下载行为传输到IDM
  14. 数据结构-二叉树的顺序存储
  15. BIM模型文件下载——售楼中心室内装饰Revit模型
  16. FAN- Face Alignment Network
  17. 以太坊 权益证明(五)
  18. 揭秘中小企业网络营销迷局与现状
  19. 狐狸抓兔子(实验楼的练习)
  20. 这谁顶得住?Mybatis 十八连环问

热门文章

  1. 搜索引擎优化核心关键词策略
  2. 在安卓手机中使用微信保存图片提示失败的处理
  3. docker 仓库镜像 替换_Docker如何制作自己镜像并上传dockerhub
  4. markdown语法中的空格_markdown基本语法
  5. jQuery Ajax async=false异步改为同步时,导致浏览器假死的处理方法
  6. 2018——而立之年
  7. 从技术雷达看​DevOps的十年——容器技术和微服务
  8. Codecademy学习Python
  9. Windows中获取用户密码
  10. 深入学习区块链的隐私保护(四)秘密共享