利用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 相关文章推荐
第七节 类的静态成员 [7]
Oct 09 PHP
PHP和XSS跨站攻击的防范
Apr 17 PHP
PHP页面间传递参数实例代码
Jun 05 PHP
php不用内置函数对数组排序的两个算法代码
Feb 08 PHP
window+nginx+php环境配置 附配置搭配说明
Dec 29 PHP
PHP5中Cookie与 Session使用详解
Apr 30 PHP
PHP中round()函数对浮点数进行四舍五入的方法
Nov 19 PHP
PHP中字符串长度的截取用法示例
Jan 12 PHP
PHP+jQuery实现即点即改功能示例
Feb 21 PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
Aug 05 PHP
tp5框架基于ajax实现异步删除图片的方法示例
Feb 10 PHP
YII2框架中actions的作用与使用方法示例
Mar 13 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调用数据库的存贮过程
2006/10/09 PHP
php 字符转义 注意事项
2009/05/27 PHP
php 自写函数代码 获取关键字 去超链接
2010/02/08 PHP
CI框架中cookie的操作方法分析
2014/12/12 PHP
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
IE bug table元素的innerHTML
2010/01/11 Javascript
jQuery Tools tab使用介绍
2012/07/14 Javascript
jquery代码实现简单的随机图片瀑布流效果
2015/04/20 Javascript
javascript实现简单查找与替换的方法
2015/07/22 Javascript
JS+CSS实现简单滑动门(滑动菜单)效果
2015/09/19 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
2016/01/31 Javascript
Javascript之Number对象介绍
2016/06/07 Javascript
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
JS实现unicode和UTF-8之间的互相转换互转
2017/07/05 Javascript
vue服务端渲染的实例代码
2017/08/28 Javascript
利用Node.js检测端口是否被占用的方法
2017/12/07 Javascript
详解JSON和JSONP劫持以及解决方法
2019/03/08 Javascript
js实现登录时记住密码的方法分析
2020/04/05 Javascript
python计算列表内各元素的个数实例
2018/06/29 Python
python创建文件备份的脚本
2018/09/11 Python
Django框架自定义模型管理器与元选项用法分析
2019/07/22 Python
tensorflow 保存模型和取出中间权重例子
2020/01/24 Python
css3气泡 css3关键帧动画创建的动态通知气泡
2013/02/26 HTML / CSS
css3中仿放大镜效果的几种方式原理解析
2020/12/03 HTML / CSS
欧洲顶级的童装奢侈品购物网站:Bambini Fashion(面向全球)
2018/04/24 全球购物
韩国最大的购物网站:Gmarket
2019/06/20 全球购物
The Athlete’s Foot新西兰:新西兰最大的运动鞋零售商
2019/12/23 全球购物
介绍一下SOA和SOA的基本特征
2016/02/24 面试题
进修护士自我鉴定
2013/10/14 职场文书
传媒专业推荐信范文
2013/11/23 职场文书
关于运动会的口号
2014/06/07 职场文书
井冈山红色之旅心得体会
2014/10/07 职场文书
2014小学数学教研组工作总结
2014/12/06 职场文书
2015年12.4全国法制宣传日活动总结
2015/03/24 职场文书
学法用法心得体会(2016推荐篇)
2016/01/21 职场文书
css3新特性的应用示例分析
2022/03/16 HTML / CSS