PHP获取客户浏览器版本 系统版本 IP地址和IP所在国家源代码及例程

2016年08月8日

原创内容,转载请注明出处: http://www.myzhenai.com.cn/post/2242.html http://www.myzhenai.com/thread-17902-1-1.html
关键字: php怎样获取客户浏览器 php怎样获取客户系统 php如何获取用户IP所在国家 php如何获取用户IP所在位置
演示地址: http://www.myzhenai.com.cn http://jiayu.mybabya.com/ http://tz.mybabya.com/ua.php
其实获取用户浏览器版本和系统版本都是根据用户浏览时提交的user agent信息来判断的, 对于用户的系统可以精确一些,但一些Linux系统还是无法作到获取精确的派生版本, 浏览器的获取就要难一些, 因为不同的浏览器,不同的版本的用户的user agent信息也都是不一样的. 这个只能是自己根据不同的需要进行修改. 这些图片是我在网络上收集并修改的.
一: 在源码目录中的functions.php文件中插入以下代码

/**
 * This is a small tool to obtain the user's browser to browse the system name and user name and address
 * Autor: RucLinux
 * Web: http://www.myzhenai.com.cn/ http://www.myzhenai.com/ http://www.haikou-china.com/ http://jiayu.mybabya.com/ http://www.0898-shop.com/
 */

/**
这是获取当前用户IP
 */

function get_ip() {
    $ip = $_SERVER["REMOTE_ADDR"]; /* 获取当前浏览用户地址,显示的是纯ip地址格式   */
    return $ip;
}

/**
这是获取当前用户IP所在位置
 */
function get_ip_address() {
    $chinaz = "http://www.baidu.com/baidu?wd="; /* 指定站长工具获取IP地址的页面地址,后边加上IP就可以了   */
    $ip = $_SERVER["REMOTE_ADDR"]; /* 获取当前浏览用户地址,显示的是纯ip地址格式   */
    $Source = file_get_contents($chinaz.$ip);  /* 获取网页源码,变量 $Source 即是当前IP地址的网页源码 */

    if ($Source !== ""){
        $aLeft = "$ip"; /* 第一次搜索的参数变量,第一次以这个为搜索条件,从这个变量开始搜索  */
        $aRight = ""; /* 第一次搜索的参数变量,搜索到这个变量就停止搜索,截取这中间的字符窜  */
        $Left = strpos($Source,$aLeft,0); /* 左边位置 */
        $Right = strpos($Source,$aRight,0); /* 右边位置 */
        $txit = substr($Source,$Left,$Right); /* 截取部份文本代码,第一个参数是要处理的字符窜,第二个参数是开始位置,第三个参数是结束位置 [第一次查询]*/
        $Left = strpos($txit,$aLeft,0); /* 左边位置 */
        $Right = strpos($txit,$aRight,0); /* 右边位置 */
        $txit = substr($txit,0,$Right); /* 截取部份文本代码,第一个参数是要处理的字符窜,第二个参数是开始位置,第三个参数是结束位置 [第二次查询]*/
        $txit = substr($txit,20); /* 截取部份文本代码,第一个参数是要处理的字符窜,第二个参数是开始位置, [第三次查询]*/
        $txit = str_replace(">","",$txit); /* 替换字符 */
        return $txit;
    }
}


/**
将所处国家代码转换为中文的国家名称
 */
function transCode($code) {
    $ind=array('AA'=>'阿鲁巴',
        'AD'=>'安道尔',
        'AE'=>'阿联酋',
        'AF'=>'阿富汗',
        'AG'=>'安提瓜和巴布达',
        'AL'=>'阿尔巴尼亚',
        'AM'=>'亚美尼亚',
        'AN'=>'荷属安德列斯',
        'AO'=>'安哥拉',
        'AQ'=>'南极洲',
        'AR'=>'阿根廷',
        'AS'=>'东萨摩亚',
        'AT'=>'奥地利',
        'AU'=>'澳大利亚',
        'AZ'=>'阿塞拜疆',
        'Av'=>'安圭拉岛',
        'BA'=>'波黑',
        'BB'=>'巴巴多斯',
        'BD'=>'孟加拉',
        'BE'=>'比利时',
        'BF'=>'巴哈马',
        'BF'=>'布基纳法索',
        'BG'=>'保加利亚',
        'BH'=>'巴林',
        'BI'=>'布隆迪',
        'BJ'=>'贝宁',
        'BM'=>'百慕大',
        'BN'=>'文莱布鲁萨兰',
        'BO'=>'玻利维亚',
        'BR'=>'巴西',
        'BS'=>'巴哈马',
        'BT'=>'不丹',
        'BV'=>'布韦岛',
        'BW'=>'博茨瓦纳',
        'BY'=>'白俄罗斯',
        'BZ'=>'伯里兹',
        'CA'=>'加拿大',
        'CB'=>'柬埔寨',
        'CC'=>'可可斯群岛',
        'CD'=>'刚果',
        'CF'=>'中非',
        'CG'=>'刚果',
        'CH'=>'瑞士',
        'CI'=>'象牙海岸',
        'CK'=>'库克群岛',
        'CL'=>'智利',
        'CM'=>'喀麦隆',
        'CN'=>'中国',
        'CO'=>'哥伦比亚',
        'CR'=>'哥斯达黎加',
        'CS'=>'捷克斯洛伐克',
        'CU'=>'古巴',
        'CV'=>'佛得角',
        'CX'=>'圣诞岛',
        'CY'=>'塞普路斯',
        'CZ'=>'捷克',
        'DE'=>'德国',
        'DJ'=>'吉布提',
        'DK'=>'丹麦',
        'DM'=>'多米尼加共和国',
        'DO'=>'多米尼加联邦',
        'DZ'=>'阿尔及利亚',
        'EC'=>'厄瓜多尔',
        'EE'=>'爱沙尼亚',
        'EG'=>'埃及',
        'EH'=>'西撒哈拉',
        'ER'=>'厄立特里亚',
        'ES'=>'西班牙',
        'ET'=>'埃塞俄比亚',
        'FI'=>'芬兰',
        'FJ'=>'斐济',
        'FK'=>'福兰克群岛',
        'FM'=>'米克罗尼西亚',
        'FO'=>'法罗群岛',
        'FR'=>'法国',
        'FX'=>'法国-主教区',
        'GA'=>'加蓬',
        'GB'=>'英国',
        'GD'=>'格林纳达',
        'GE'=>'格鲁吉亚',
        'GF'=>'法属圭亚那',
        'GH'=>'加纳',
        'GI'=>'直布罗陀',
        'GL'=>'格陵兰岛',
        'GM'=>'冈比亚',
        'GN'=>'几内亚',
        'GP'=>'法属德洛普群岛',
        'GQ'=>'赤道几内亚',
        'GR'=>'希腊',
        'GS'=>'S. Georgia and S. Sandwich Isls.',
        'GT'=>'危地马拉',
        'GU'=>'关岛',
        'GW'=>'几内亚比绍',
        'GY'=>'圭亚那',
        'HK'=>'中国香港特区',
        'HM'=>'赫德和麦克唐纳群岛',
        'HN'=>'洪都拉斯',
        'HR'=>'克罗地亚',
        'HT'=>'海地',
        'HU'=>'匈牙利',
        'ID'=>'印度尼西亚',
        'IE'=>'爱尔兰',
        'IL'=>'以色列',
        'IN'=>'印度',
        'IO'=>'英属印度洋领地',
        'IQ'=>'伊拉克',
        'IR'=>'伊朗',
        'IS'=>'冰岛',
        'IT'=>'意大利',
        'JM'=>'牙买加',
        'JO'=>'约旦',
        'JP'=>'日本',
        'KE'=>'肯尼亚',
        'KG'=>'吉尔吉斯斯坦',
        'KH'=>'柬埔寨',
        'KI'=>'基里巴斯',
        'KM'=>'科摩罗',
        'KN'=>'圣基茨和尼维斯',
        'KP'=>'韩国',
        'KR'=>'朝鲜',
        'KW'=>'科威特',
        'KY'=>'开曼群岛',
        'KZ'=>'哈萨克斯坦',
        'LA'=>'老挝',
        'LB'=>'黎巴嫩',
        'LC'=>'圣卢西亚',
        'LI'=>'列支顿士登',
        'LK'=>'斯里兰卡',
        'LR'=>'利比里亚',
        'LS'=>'莱索托',
        'LT'=>'立陶宛',
        'LU'=>'卢森堡',
        'LV'=>'拉托维亚',
        'LY'=>'利比亚',
        'MA'=>'摩洛哥',
        'MC'=>'摩纳哥',
        'MD'=>'摩尔多瓦',
        'MG'=>'马达加斯加',
        'MH'=>'马绍尔群岛',
        'MK'=>'马其顿',
        'ML'=>'马里',
        'MM'=>'缅甸',
        'MN'=>'蒙古',
        'MO'=>'中国澳门特区',
        'MP'=>'北马里亚纳群岛',
        'MQ'=>'法属马提尼克群岛',
        'MR'=>'毛里塔尼亚',
        'MS'=>'蒙塞拉特岛',
        'MT'=>'马耳他',
        'MU'=>'毛里求斯',
        'MV'=>'马尔代夫',
        'MW'=>'马拉维',
        'MX'=>'墨西哥',
        'MY'=>'马来西亚',
        'MZ'=>'莫桑比克',
        'NA'=>'纳米比亚',
        'NC'=>'新卡里多尼亚',
        'NE'=>'尼日尔',
        'NF'=>'诺福克岛',
        'NG'=>'尼日利亚',
        'NI'=>'尼加拉瓜',
        'NL'=>'荷兰',
        'NO'=>'挪威',
        'NP'=>'尼泊尔',
        'NR'=>'瑙鲁',
        'NT'=>'中立区(沙特-伊拉克间)',
        'NU'=>'纽爱',
        'NZ'=>'新西兰',
        'OM'=>'阿曼',
        'PA'=>'巴拿马',
        'PE'=>'秘鲁',
        'PF'=>'法属玻里尼西亚',
        'PG'=>'巴布亚新几内亚',
        'PH'=>'菲律宾',
        'PK'=>'巴基斯坦',
        'PL'=>'波兰',
        'PM'=>'圣皮艾尔和密克隆群岛',
        'PN'=>'皮特克恩岛',
        'PR'=>'波多黎各',
        'PT'=>'葡萄牙',
        'PW'=>'帕劳',
        'PY'=>'巴拉圭',
        'QA'=>'卡塔尔',
        'RE'=>'法属尼留旺岛',
        'RO'=>'罗马尼亚',
        'RU'=>'俄罗斯',
        'RW'=>'卢旺达',
        'SA'=>'沙特阿拉伯',
        'SC'=>'塞舌尔',
        'SD'=>'苏丹',
        'SE'=>'瑞典',
        'SG'=>'新加坡',
        'SH'=>'圣赫勒拿',
        'SI'=>'斯罗文尼亚',
        'SJ'=>'斯瓦尔巴特和扬马延岛',
        'SK'=>'斯洛伐克',
        'SL'=>'塞拉利昂',
        'SM'=>'圣马力诺',
        'SN'=>'塞内加尔',
        'SO'=>'索马里',
        'SR'=>'苏里南',
        'ST'=>'圣多美和普林西比',
        'SU'=>'前苏联',
        'SV'=>'萨尔瓦多',
        'SY'=>'叙利亚',
        'SZ'=>'斯威士兰',
        'Sb'=>'所罗门群岛',
        'TC'=>'特克斯和凯科斯群岛',
        'TD'=>'乍得',
        'TF'=>'法国南部领地',
        'TG'=>'多哥',
        'TH'=>'泰国',
        'TJ'=>'塔吉克斯坦',
        'TK'=>'托克劳群岛',
        'TM'=>'土库曼斯坦',
        'TN'=>'突尼斯',
        'TO'=>'汤加',
        'TP'=>'东帝汶',
        'TR'=>'土尔其',
        'TT'=>'特立尼达和多巴哥',
        'TV'=>'图瓦卢',
        'TW'=>'中国台湾省',
        'TZ'=>'坦桑尼亚',
        'UA'=>'乌克兰',
        'UG'=>'乌干达',
        'UK'=>'英国',
        'UM'=>'美国海外领地',
        'US'=>'美国',
        'UY'=>'乌拉圭',
        'UZ'=>'乌兹别克斯坦',
        'VA'=>'梵蒂岗',
        'VC'=>'圣文森特和格陵纳丁斯',
        'VE'=>'委内瑞拉',
        'VG'=>'英属维京群岛',
        'VI'=>'美属维京群岛',
        'VN'=>'越南',
        'VU'=>'瓦努阿鲁',
        'WF'=>'瓦里斯和福图纳群岛',
        'WS'=>'西萨摩亚',
        'YE'=>'也门',
        'YT'=>'马约特岛',
        'YU'=>'南斯拉夫',
        'ZA'=>'南非',
        'ZM'=>'赞比亚',
        'ZR'=>'扎伊尔',
        'ZW'=>'津巴布韦');
    $code=strtoupper($code);
    $name= isset($ind[$code]) ? $ind[$code] : '局域网';
    if (empty($name)) {
        return null;
    }
    return $name;
}

/**
这是获取当前用户IP所在国家
 */
function get_ip_nation() {
    $ip = $_SERVER["REMOTE_ADDR"]; /* 获取当前浏览用户地址,显示的是纯ip地址格式   */
    $nat = "http://www.geoplugin.net/json.gp?ip="; /* 从指定的网站那里获得IP所处位置的信息 */
    $Source = file_get_contents($nat.$ip);  /* 获取网页源码,变量 $Source 即是当前IP地址的网页源码 */
    $area = json_decode($Source);
    return transCode($area->geoplugin_countryCode);
}


/**
这是输出当前用户IP所在国家或地区的旗帜
 */
function outputflag() {
    $ip = $_SERVER["REMOTE_ADDR"]; /* 获取当前浏览用户地址,显示的是纯ip地址格式   */
    $nat = "http://www.geoplugin.net/json.gp?ip="; /* 从指定的网站那里获得IP所处位置的信息 */
    $Source = file_get_contents($nat.$ip);  /* 获取网页源码,变量 $Source 即是当前IP地址的网页源码 */
    $area = json_decode($Source);
    $ad = get_stylesheet_directory_uri(); /* 获取当前主题目录路径 这个变量是wordpress对有的 */
    $userarea = transCode($area->geoplugin_countryCode);
        $flag = strtolower($area->geoplugin_countryCode); /* 将字符窜数据转换成小写 */
        if ($flag == "tw" || $flag == "hk" || $flag == "mo" ) {
        $version = "<img src=\"$ad/images/nation/cn.png\" alt=\"中华人民共和国\" title=\"中华人民共和国\" width=\"16\" /> || <img src=\"$ad/images/nation/$flag.png\" alt=\"$userarea\" title=\"$userarea\" width=\"16\" /> "; /** 定义图片地址 */
         }else{
        $version = "<img src=\"$ad/images/nation/$flag.png\" alt=\"$userarea\" title=\"$userarea\" width=\"16\" />"; /** 定义图片地址 */
         }
         return $version;
         }

/**
这是获取当前用户浏览器UserAgent数据中的真正的系统名称或浏览器名称
 */
function get_pickup_browser() {
    $agent = $_SERVER['HTTP_USER_AGENT']; /** 获取用户当前UserAgent数据  */
    $im = strtolower($agent); /* 将字符窜数据转换成小写 */
    $mb = array(); /** 创建一个空白数组 */
        if (strpos($im,"firefox")){
            array_push($mb,strpos($im,"firefox"),"firefox"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"opera")){
            array_push($mb,strpos($im,"opera"),"opera"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"chrome")){
            array_push($mb,strpos($im,"chrome"),"chrome"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"safari")){
            array_push($mb,strpos($im,"safari"),"safari"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"edge/")){
            array_push($mb,strpos($im,"edge/"),"edge"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"maxthon")){
            array_push($mb,strpos($im,"maxthon"),"maxthon"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"tencenttraveler")){
            array_push($mb,strpos($im,"tencenttraveler"),"tencenttraveler"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"world")){
            array_push($mb,strpos($im,"world"),"world"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"360se")){
            array_push($mb,strpos($im,"360se"),"360se"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"metasr")){
            array_push($mb,strpos($im,"metasr"),"metasr"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"baidu")){
            array_push($mb,strpos($im,"baidu"),"baidu"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"qq")){
            array_push($mb,strpos($im,"qq"),"qq"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"360ee")){
            array_push($mb,strpos($im,"360ee"),"360ee"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"lbbrowser")){
            array_push($mb,strpos($im,"lbbrowser"),"lbbrowser"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"ucbrowser")){
            array_push($mb,strpos($im,"ucbrowser"),"ucbrowser"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"lceweasel")){
            array_push($mb,strpos($im,"lceweasel"),"lceweasel"); /** 加入一条数组信息并覆值 */
        }
        if (count($mb) >= 2){
        $mb = array_flip(array_flip($mb)); /** 去除重复的数组数据 */
            $b = end($mb); /** 取数组里最大的元素的值  */
        }
        unset($mb);
        return $b;
        } /** get_pickup_browser */

function get_pickup_os() {
    $agent = $_SERVER['HTTP_USER_AGENT']; /** 获取用户当前UserAgent数据  */
    $im = strtolower($agent); /* 将字符窜数据转换成小写 */
    $mb = array(); /** 创建一个空白数组 */
        if (strpos($im,"linux")){
            array_push($mb,strpos($im,"linux"),"linux"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"centos")){
            array_push($mb,strpos($im,"centos"),"centos"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"debian")){
            array_push($mb,strpos($im,"debian"),"debian"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"ubuntu")){
            array_push($mb,strpos($im,"ubuntu"),"ubuntu"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"fedora")){
            array_push($mb,strpos($im,"fedora"),"fedora"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"gentoo")){
            array_push($mb,strpos($im,"gentoo"),"gentoo"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"unix")){
            array_push($mb,strpos($im,"unix"),"unix"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"mac")){
            array_push($mb,strpos($im,"mac"),"mac"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"sun")){
            array_push($mb,strpos($im,"sun"),"sun"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"ibm")){
            array_push($mb,strpos($im,"firefox"),"firefox"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"android")){
            array_push($mb,strpos($im,"android"),"android"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"ipad")){
            array_push($mb,strpos($im,"ipad"),"ipad"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"iphone")){
            array_push($mb,strpos($im,"iphone"),"iphone"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"netbsd")){
            array_push($mb,strpos($im,"netbsd"),"netbsd"); /** 加入一条数组信息并覆值 */
        }
        if (strpos($im,"freebsd")){
            array_push($mb,strpos($im,"freebsd"),"freebsd"); /** 加入一条数组信息并覆值 */
        }
        if (count($mb) >= 1){
            $b = end($mb); /** 取数组里最大的元素的值  */
        }
        unset($mb);
        return $b;
        } /** get_pickup_os */


/**
这是获取当前用户浏览器名称和图片或者是当前用户系统的名称和图片
 */
function get_browser_name() {
    $agent = $_SERVER['HTTP_USER_AGENT']; /** 获取用户当前UserAgent数据  */
    $im = strtolower($agent); /* 将字符窜数据转换成小写 */
    $ad = get_stylesheet_directory_uri(); /* 获取当前主题目录路径  */
    $t = get_pickup_browser();
    if ($t == "firefox"){
        $t = "FireFix火狐浏览器";
        $version = "<img src=\"$ad/images/browser/firefox.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "opera"){
        $t = "Opera浏览器";
        $version = "<img src=\"$ad/images/browser/opera.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "chrome"){
        $t = "Chrome浏览器";
        $version = "<img src=\"$ad/images/browser/chrome.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "safari"){
        $t = "Safari浏览器";
        $version = "<img src=\"$ad/images/browser/safari.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if (strpos($im,"msie 9.0")){
        $t = "Internet Explorer 9.0浏览器";
        $version = "<img src=\"$ad/images/browser/ie.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if (strpos($im,"msie 8.0")){
        $t = "Internet Explorer 8.0浏览器";
        $version = "<img src=\"/images/browser/ie.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if (strpos($im,"msie 7.0")){
        $t = "Internet Explorer 7.0浏览器";
        $version = "<img src=\"$ad/images/browser/ie.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if (strpos($im,"msie 6.0")){
        $t = "Internet Explorer 6.0浏览器";
        $version = "<img src=\"$ad/images/browser/ie.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "edge"){
        $t = "Edge浏览器";
        $version = "<img src=\"$ad/images/browser/edge.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "maxthon"){
        $t = "傲游浏览器";
        $version = "<img src=\"$ad/images/browser/maxthon.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "tencenttraveler"){
        $t = "腾讯TT浏览器";
        $version = "<img src=\"$ad/images/browser/tt.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "world"){
        $t = "世界之窗浏览器";
        $version = "<img src=\"$ad/images/browser/world.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "360se"){
        $t = "360浏览器";
        $version = "<img src=\"$ad/images/browser/360.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "metasr"){
        $t = "搜狗浏览器";
        $version = "<img src=\"$ad/images/browser/metasr.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "baidu"){
        $t = "百度浏览器";
        $version = "<img src=\"$ad/images/browser/baidu.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "qq"){
        $t = "QQ浏览器";
        $version = "<img src=\"$ad/images/browser/qq.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "360ee"){
        $t = "360极速浏览器";
        $version = "<img src=\"$ad/images/browser/360ee.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "lbbrowser"){
        $t = "猎豹浏览器";
        $version = "<img src=\"$ad/images/browser/lb.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "ucbrowser"){
        $t = "UC浏览器";
        $version = "<img src=\"$ad/images/browser/uc.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if (strpos($im,"rv:11.0")){
        $t = "Internet Explorer 11浏览器";
        $version = "<img src=\"$ad/images/browser/ie.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "lceweasel"){
        $t = "lceweasel浏览器";
        $version = "<img src=\"$ad/images/browser/lceweasel.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    return $version;
}

/**
这是获取当前用户系统的名称和图片
 */

function get_os(){
    /** 以下是系统信息 */
    $agent = $_SERVER['HTTP_USER_AGENT']; /** 获取用户当前UserAgent数据  */
    $im = strtolower($agent); /* 将字符窜数据转换成小写 */
    $ad = get_stylesheet_directory_uri(); /* 获取当前主题目录路径  */
    $t = get_pickup_os();
    if (strpos($im,"win") && strpos($im, '95')){
        $t = "Windows 95系统";
        $version = "<img src=\"$ad/images/system/wind.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if (strpos($im,"win 9x") && strpos($im, '4.90')){
        $t = "Windows ME系统";
        $version = "<img src=\"$ad/images/system/wind.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if (strpos($im,"win") && strpos($im,"98")){
        $t = "Windows 98系统";
        $version = "<img src=\"$ad/images/system/wind.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if (strpos($im,"win") && strpos($im,"nt 5.1")){
        $t = "Windows XP系统";
        $version = "<img src=\"$ad/images/system/wind.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if (strpos($im,"win") && strpos($im,"nt 5.2")){
        $t = "Windows  Server 2003系统";
        $version = "<img src=\"$ad/images/system/wind.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if (strpos($im,"win") && strpos($im,"nt 5.3")){
        $t = "Windows 2000系统";
        $version = "<img src=\"$ad/images/system/wind.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if (strpos($im,"win") && strpos($im,"nt 6.0")){
        $t = "Windows Vista/Windows Server 2008系统";
        $version = "<img src=\"$ad/images/system/wind.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if (strpos($im,"win") && strpos($im,"nt 6.1")){
        $t = "Windows 7/Windows Server 2008 R2系统";
        $version = "<img src=\"$ad/images/system/wind.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if (strpos($im,"win") && strpos($im,"nt 6.2")){
        $t = "Windows 8/Windows Server 2012系统";
        $version = "<img src=\"$ad/images/system/wind.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if (strpos($im,"win") && strpos($im,"nt 10")){
        $t = "Windows 10系统";
        $version = "<img src=\"$ad/images/system/wind.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "linux"){
        $t = "Linux系统";
        $version = "<img src=\"$ad/images/system/linux.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "unix"){
        $t = "Unix系统";
        $version = "<img src=\"$ad/images/system/unix.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if (strpos($im,"sun") && strpos($im,"os")){
        $t = "SunOS系统";
        $version = "<img src=\"$ad/images/system/sun.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if (strpos($im,"ibm") && strpos($im,"os")){
        $t = "IBM系统";
        $version = "<img src=\"$ad/images/system/ibm.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "mac"){
        $t = "Mac系统";
        $version = "<img src=\"$ad/images/system/mac.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "android"){
        $t = "安卓系统";
        $version = "<img src=\"$ad/images/system/android.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "ipad"){
        $t = "IPAD系统";
        $version = "<img src=\"$ad/images/system/ip.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "iphone"){
        $t = "苹果系统";
        $version = "<img src=\"$ad/images/system/ip.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "netbsd"){
        $t = "NetBSD系统";
        $version = "<img src=\"$ad/images/system/freebsd.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "freebsd"){
        $t = "FreeBSD系统";
        $version = "<img src=\"$ad/images/system/freebsd.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "fedora"){
        $t = "Fedora系统";
        $version = "<img src=\"$ad/images/system/fedora.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "redhat"){
        $t = "RedHat系统";
        $version = "<img src=\"$ad/images/system/redhat.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "debian"){
        $t = "Debian系统";
        $version = "<img src=\"$ad/images/system/debian.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "ubuntu"){
        $t = "Ubuntu系统";
        $version = "<img src=\"$ad/images/system/ubuntu.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "centos"){
        $t = "Centos系统";
        $version = "<img src=\"$ad/images/system/centos.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    if ($t == "suse"){
        $t = "SuSe系统";
        $version = "<img src=\"$ad/images/system/suse.png\" alt=\"$t\" title=\"$t\" width=\"16\" />"; /** 定义图片地址 */
    }
    return $version;
}

/** 这是输出所有信息代码 */
function goout_put(){
echo "<br />Your current IP address is: < ?php echo get_ip(); ?><br />Your IP address location: < ?php echo get_ip_address(); ?><br />Your IP address country and region: < ?php echo get_ip_nation(); ?> < ?php echo outputflag(); ?><br />Your current browser is: < ?php echo get_browser_name(); ?><br />Your current system is: < ?php echo get_os(); ?>";
}

二:在源码目录中的single.php文件中插入以下代码

                          <br /><font color="#7fcce5">sicnature</font> <font>---------------------------------------------------------------------</font>
                          <br />
                            Your current IP address is:  < ?php echo get_ip(); ?>
                          <br />
                           Your IP address location: < ?php echo get_ip_address(); ?>
                          <br />
                           Your IP address country and region: < ?php echo get_ip_nation(); ?> < ?php echo outputflag(); ?>
                          <br />
                           Your current browser is: < ?php echo get_browser_name(); ?>
                          <br />
                           Your current system is: < ?php echo get_os(); ?>
                          <br /><b>Original content, please indicate the source:</b>
                           <br /><a target="_blank" href="http://www.myzhenai.com/">同福客栈论坛</a> | <a target="_blank" href="http://www.myzhenai.com.cn/">海南仙岛</a> | <a target="_blank" href="http://www.haikou-china.com/">海南乡情论坛</a> | <a target="_blank" href="http://jiayu.mybabya.com/">JiaYu Blog</a>
                           <br /><font color="#7fcce5">sicnature</font> <font>---------------------------------------------------------------------</font>
                        <div>
                                Welcome to reprint. Please indicate the source < ?php the_permalink() ?>
                        </div>

PHP获取客户浏览器版本 系统版本 IP地址和IP所在国家源代码及例程

PHP获取客户浏览器版本 系统版本 IP地址和IP所在国家源代码及例程


还有一个方法是使用php官方内置函数 get_browser()进行获取的, 它返回的是一个数组, 只要输出它的browser和platform元素就可以了, 不过它的缺点是它只能获取一些国外注流的浏览器版本,好多国内的浏览器获取不到,并且要下载配置一个庞大的browscap.ini文件.它应该是匹配这个文件里的一些信息的.
利用php内置函数get_browser获取客户端信息

利用php内置函数get_browser获取客户端信息

< ?php
echo $_SERVER['HTTP_USER_AGENT'] . "<br />";//获取访问用户的User Agent信息
$browser = get_browser(null,true); //这是php内置的查询客户端信息函数但是要使用必须参考 http://php.net/manual/zh/function.get-browser.php
echo "您的浏览器是: ".$browser["browser"]. "<br />"; //这是输出客户端浏览器信息
echo "您的系统版本是: ".$browser["platform"]. "<br />";//这是输出客户端系统信息
?>

sicnature ---------------------------------------------------------------------
Your current IP address is: 54.80.81.223
Your IP address location: 国
Your IP address country and region: 美国 美国
Your current browser is:
Your current system is:
Original content, please indicate the source:
同福客栈论坛 | 海南仙岛海南乡情论坛 | JiaYu Blog
sicnature ---------------------------------------------------------------------
Welcome to reprint. Please indicate the source http://www.myzhenai.com.cn/post/2242.html

没有评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注