利用PHP获取访客IP、地区位置、浏览器及来源页面等信息


Posted in PHP onJune 27, 2017

前言

本文中主要介绍了关于利用PHP获取访客IP、地区位置、浏览器及来源页面等信息的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:

不多说了,每个方法都注释了,可以直接用:

示例代码

<?php
//这个类似用来获取访客信息的
//方便统计
class visitorInfo
{
 //获取访客ip
 public function getIp()
 {
  $ip=false;
  if(!empty($_SERVER["HTTP_CLIENT_IP"])){
   $ip = $_SERVER["HTTP_CLIENT_IP"];
  }
  if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
   $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
   if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
   for ($i = 0; $i < count($ips); $i++) {
    if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
     $ip = $ips[$i];
     break;
    }
   }
  }
  return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
 }

 //根据ip获取城市、网络运营商等信息
 public function findCityByIp($ip){
  $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
  return json_decode($data,$assoc=true);
 }

 //获取用户浏览器类型
 public function getBrowser(){
  $agent=$_SERVER["HTTP_USER_AGENT"];
  if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断
   return "ie";
  else if(strpos($agent,'Firefox')!==false)
   return "firefox";
  else if(strpos($agent,'Chrome')!==false)
   return "chrome";
  else if(strpos($agent,'Opera')!==false)
   return 'opera';
  else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false)
   return 'safari';
  else
   return 'unknown';
 }

 //获取网站来源
 public function getFromPage(){
  return $_SERVER['HTTP_REFERER'];
 }

}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
PHP生成月历代码
Jun 14 PHP
用PHP获取Google AJAX Search API 数据的代码
Mar 12 PHP
PHP之数组学习
May 29 PHP
JpGraph php柱状图使用介绍
Aug 23 PHP
解决Codeigniter不能上传rar和zip压缩包问题
Mar 07 PHP
PHP使用Alexa API获取网站的Alexa排名例子
Jun 12 PHP
ThinkPHP的截取字符串函数无法显示省略号的解决方法
Jun 25 PHP
PHP生成及获取JSON文件的方法
Aug 23 PHP
PHP CURL与java http使用方法详解
Jan 26 PHP
PHP微信网页授权的配置文件操作分析
May 29 PHP
PHP架构及原理知识点详解
Dec 22 PHP
PHP数组基本用法与知识点总结
Jun 02 PHP
简单谈谈PHP面向对象之标识对象
Jun 27 #PHP
什么是PHP文件?如何打开PHP文件?
Jun 27 #PHP
PHP面向对象之工作单元(实例讲解)
Jun 26 #PHP
thinkphp框架page类与bootstrap分页(美化)
Jun 25 #PHP
解决出现SoapFault (looks like we got no XML document)的问题
Jun 24 #PHP
php-fpm开启状态统计的方法详解
Jun 23 #PHP
PHP多种序列化/反序列化的方法详解
Jun 23 #PHP
You might like
PHP实现简易用户登录系统
2020/07/10 PHP
PHP 与 js的通信(via ajax,json)
2010/11/16 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
JS实现的3D拖拽翻页效果代码
2015/10/31 Javascript
浅析2种JavaScript继承方式
2015/12/04 Javascript
JavaScript中的this机制
2016/01/30 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
Vue开发过程中遇到的疑惑知识点总结
2017/01/20 Javascript
js实现带简单弹性运动的导航条
2017/02/22 Javascript
angularjs实现上拉加载和下拉刷新数据功能
2017/06/12 Javascript
微信小程序实现简单跑马灯效果
2020/05/26 Javascript
如何在postman测试用例中实现断言过程解析
2020/07/09 Javascript
Python实现telnet服务器的方法
2015/07/10 Python
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
2017/04/17 Python
pycharm中成功运行图片的配置教程
2018/10/28 Python
Python多线程模块Threading用法示例小结
2019/11/09 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
2020/02/03 Python
使用 Python ssh 远程登陆服务器的最佳方案
2020/03/06 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
2020/03/19 Python
css3实现平移效果(transfrom:translate)的示例
2020/11/13 HTML / CSS
应届生妇产科护士求职信
2013/10/27 职场文书
保荐人的岗位职责
2013/11/19 职场文书
售后主管岗位职责
2013/12/08 职场文书
工商治理实习生的自我评价
2014/01/15 职场文书
小学生新学期寄语
2014/01/19 职场文书
酒店管理毕业生自我鉴定
2014/03/02 职场文书
社区消防工作实施方案
2014/03/21 职场文书
父母寄语大全
2014/04/12 职场文书
工商管理自荐书
2014/07/06 职场文书
改革共识倡议书
2014/08/29 职场文书
2015年前台个人工作总结
2015/04/03 职场文书
入党培养人考察意见
2015/06/08 职场文书
百家讲坛观后感
2015/06/12 职场文书
python中print格式化输出的问题
2021/04/16 Python