1.获取访客操作系统信息

  1.  
    <?php
  2.  
    function GetOs() {
  3.  
    if (!empty($_SERVER['HTTP_USER_AGENT'])) {
  4.  
    $OS = $_SERVER['HTTP_USER_AGENT'];
  5.  
    if (preg_match('/win/i', $OS)) {
  6.  
    $OS = 'Windows';
  7.  
    } elseif (preg_match('/mac/i', $OS)) {
  8.  
    $OS = 'MAC';
  9.  
    } elseif (preg_match('/linux/i', $OS)) {
  10.  
    $OS = 'Linux';
  11.  
    } elseif (preg_match('/unix/i', $OS)) {
  12.  
    $OS = 'Unix';
  13.  
    } elseif (preg_match('/bsd/i', $OS)) {
  14.  
    $OS = 'BSD';
  15.  
    } else {
  16.  
    $OS = 'Other';
  17.  
    }
  18.  
    return $OS;
  19.  
    } else {
  20.  
    return "获取访客操作系统信息失败!";
  21.  
    }
  22.  
    } ?>

2.获取浏览器信息

  1.  
    <?php
  2.  
    function GetBrowser() {
  3.  
    if (!empty($_SERVER['HTTP_USER_AGENT'])) {
  4.  
    $br = $_SERVER['HTTP_USER_AGENT'];
  5.  
    if (preg_match('/MSIE/i', $br)) {
  6.  
    $br = 'MSIE';
  7.  
    } elseif (preg_match('/Firefox/i', $br)) {
  8.  
    $br = 'Firefox';
  9.  
    } elseif (preg_match('/Chrome/i', $br)) {
  10.  
    $br = 'Chrome';
  11.  
    } elseif (preg_match('/Safari/i', $br)) {
  12.  
    $br = 'Safari';
  13.  
    } elseif (preg_match('/Opera/i', $br)) {
  14.  
    $br = 'Opera';
  15.  
    } else {
  16.  
    $br = 'Other';
  17.  
    }
  18.  
    return $br;
  19.  
    } else {
  20.  
    return "获取浏览器信息失败!";
  21.  
    }
  22.  
    } ?>

3.获取浏览器语言

  1.  
    <?php
  2.  
    function GetLang() {
  3.  
    if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
  4.  
    $lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
  5.  
    $lang = substr($lang, 0, 5);
  6.  
    if (preg_match("/zh-cn/i", $lang)) {
  7.  
    $lang = "简体中文";
  8.  
    } elseif (preg_match("/zh/i", $lang)) {
  9.  
    $lang = "繁体中文";
  10.  
    } else {
  11.  
    $lang = "English";
  12.  
    }
  13.  
    return $lang;
  14.  
    } else {
  15.  
    return "获取浏览器语言失败!";
  16.  
    }
  17.  
    } ?>

4.获取ip和地址信息

ip地址信息由新浪ip库提供
  1.  
    <?php
  2.  
    //获取ip
  3.  
    function getip() {
  4.  
    if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP") , "unknown")) {
  5.  
    $ip = getenv("HTTP_CLIENT_IP");
  6.  
    } else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR") , "unknown")) {
  7.  
    $ip = getenv("HTTP_X_FORWARDED_FOR");
  8.  
    } else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR") , "unknown")) {
  9.  
    $ip = getenv("REMOTE_ADDR");
  10.  
    } else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) {
  11.  
    $ip = $_SERVER['REMOTE_ADDR'];
  12.  
    } else {
  13.  
    $ip = "unknown";
  14.  
    }
  15.  
    return $ip;
  16.  
    }
  17.  
    //获取地址
  18.  
    function getLocation($ip = '') {
  19.  
    empty($ip) && $ip = getip();
  20.  
    if ($ip == "127.0.0.1") return "本机地址";
  21.  
    $api = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=$ip"; //请求新浪ip地址库
  22.  
    $json = @file_get_contents($api);
  23.  
    $arr = json_decode($json, true);
  24.  
    $country = $arr['country'];
  25.  
    $province = $arr['province'];
  26.  
    $city = $arr['city'];
  27.  
    if ((string)$country == "中国") {
  28.  
    if ((string)($province) != (string)$city) {
  29.  
    $_location = $province . $city;
  30.  
    } else {
  31.  
    $_location = $country . $city;
  32.  
    }
  33.  
    } else {
  34.  
    $_location = $country;
  35.  
    }
  36.  
    return $_location;
  37.  
    } ?>

i> 使用时直接在需要输出的地方调用函数即可 例如:<?php echo getip();?>

原文: https://blog.csdn.net/MaXSSR/article/details/80886258

PHP获取访客ip、系统、浏览器等信息[转]的更多相关文章

  1. PHP获取访客IP、地区位置信息、浏览器、来源页面

    不多说了,每个方法都注释了,可以直接用: <?php //这个类似用来获取访客信息的 //方便统计 class visitorInfo { //获取访客ip public function ge ...

  2. 获取访客IP、地区位置信息、浏览器、来源页面

    <?php //这个类似用来获取访客信息的 //方便统计 class visitorInfo { //获取访客ip public function getIp() { $ip=false; if ...

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

    这篇文章主要介绍了利用PHP获取访客IP.地区位置.浏览器及来源页面等信息的相关资料,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考借鉴价值,需要的朋友们下面来一起看看吧. 前言 本文中 ...

  4. JS获取访客IP+判断归属地+自动跳转

    由于公司业务需要,需要对网站特定地区的访客进行不同跳转.比如,上海的用户跳转到“shanghai.url.cn”,南京的用户跳转到“nanjing.url.cn”.下面就是我的实现方法,分享出来,顺便 ...

  5. JS获取访客IP进行自动跳转

    因业务需要进行地区判断跳转指定站点,下面是我个人实现的办法,分享给大家,仅供参考,切勿做非法用途 第一步,获取IP并判断归属地 直接使用搜狐的IP库查询接口 <script type=" ...

  6. Wordpress用文件记录访客 IP和访问量

    1.记录访问量,显示访客IP [php原码] <?php /*打开文件用于记录访问量,如果文件不存在自动创建*/ $counterFile = "counter.txt"; ...

  7. PHP实现网站访客来访显示访客IP&浏览器&操作系统

    PHP实现网站访客来访显示访客IP&浏览器&操作系统 代码 function getOs() { if (!empty($_SERVER['HTTP_USER_AGENT'])) { ...

  8. 安装mod_rpaf让apache获取访客真实IP

    安装mod_rpaf让apache获取访客真实IP 安装mod_rpaf让apache获取访客真实IP 作者:朱 茂海 /分类:Apache  字号:L M S     mod_rpaf是apache ...

  9. .NetCore.RazorPages 获取访客的公网IP与局域网IP

    dotnet.core 获取访客的公网IP与局域网IP 现在奉上代码 public void OnGet() {var ip = Content(HttpContext.Connection.Remo ...

随机推荐

  1. class in Bad version

    异常信息:class in Bad version:jdk版本不对

  2. CH 4701 - 天使玩偶 - [CDQ分治]

    题目链接:传送门 关于CDQ分治(参考李煜东<算法竞赛进阶指南>): 对于一系列操作,其中的任何一个询问操作,其结果必然等价于:初始值 + 此前所有的修改操作产生的影响. 假设共有 $m$ ...

  3. lame音频编码注意的点

    1.注意每次编码的PCM数据不能太短,如果太短编码函数长期返回-1这样的错误,将导致编码器彻底失效程序奔溃的问题,经测试32000在3200下稳定,大概1/10码率是没有问题的,具体请自行查询或调试 ...

  4. coreseek搜索

    参考文档地址:http://github.tiankonguse.com/doc/sphinx/

  5. 自己写的JdbcUtils小工具-----得到Connection对象

    Properties文件中存放键值对------(可看对Properties文件的解析) static代码块是在构造函数之前执行的,而且只执行一次,即类首次加载时. 也就是只加载一次配置文件和加载数据 ...

  6. pip离线安装python包

    1 首先在一台能上网的机器上得到python包 1) 新建一个空目录,如 /home/ubuntu/zcy/ss,用来存储下载下来的所需安装包 2)下载安装包:pip install --downlo ...

  7. mysql查询表死锁和结束死锁的方法

    1.查询是否锁表 show open tables where in_use>0; 2.查询进程 show processlist 查询到相对应的进程,然后 kill id 3.查看正在锁的事务 ...

  8. word标题自动编号

    1.打开word文档中多级列表->定义新的多级列表 2.根据下图设置级别对应的标题,然后确定

  9. 10.1-uC/OS-III任务堆栈空间

    1.设置任务优先级 嵌入式系统中的重要的应用应该被设置为高优先级,一些显示操作就应该被设置为低优先级. 然而, 由于实时系统的复杂性, 在大多数情况下任务的优先级是不能被事先确定的.多数系统中,不是所 ...

  10. logback 常用配置详解(序)logback 简介

    转自:http://aub.iteye.com/blog/1101260 logback 简介 Ceki Gülcü在Java日志领域世界知名.他创造了Log4J ,这个最早的Java日志框架即便在J ...