各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > PHP

php如何获取客户端信息

管理员 2023-09-05
PHP
131

php如何获取客户端信息

内容导读

收集整理的这篇技术教程文章主要介绍了php如何获取客户端信息,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4178字,纯文字阅读大概需要6分钟

内容图文

用于获取用户客户端信息(推荐学习:PHP视频教程)

<?phpclass userPCInfo{//获取客户端浏览器public static function get_client_browser(){    $sys = $_SERVER['HTTP_USER_AGENT'];  //获取用户代理字符串    if (stripos($sys, "Firefox/") > 0) {        preg_match("/Firefox/([^;)]+)+/i", $sys, $b);        $exp[0] = "Firefox";        $exp[1] = $b[1];  //获取火狐浏览器的版本号    } elseif (stripos($sys, "Maxthon") > 0) {        preg_match("/Maxthon/([d.]+)/", $sys, $aoyou);        $exp[0] = "傲游";        $exp[1] = $aoyou[1];    } elseif (stripos($sys, "MSIE") > 0) {        preg_match("/MSIEs+([^;)]+)+/i", $sys, $ie);        $exp[0] = "IE";        $exp[1] = $ie[1];  //获取IE的版本号    } elseif (stripos($sys, "OPR") > 0) {        preg_match("/OPR/([d.]+)/", $sys, $opera);        $exp[0] = "Opera";        $exp[1] = $opera[1];    } elseif(stripos($sys, "Edge") > 0) {        //win10 Edge浏览器 添加了chrome内核标记 在判断Chrome之前匹配        preg_match("/Edge/([d.]+)/", $sys, $Edge);        $exp[0] = "Edge";        $exp[1] = $Edge[1];    } elseif (stripos($sys, "Chrome") > 0) {        preg_match("/Chrome/([d.]+)/", $sys, $google);        $exp[0] = "Chrome";        $exp[1] = $google[1];  //获取google chrome的版本号    } elseif(stripos($sys,'rv:')>0 && stripos($sys,'Gecko')>0){        preg_match("/rv:([d.]+)/", $sys, $IE);        $exp[0] = "IE";        $exp[1] = $IE[1];    }else {        $exp[0] = "未知浏览器";        $exp[1] = "";    }    return $exp;}//获取客户端操作系统public static function get_client_os(){    $agent = $_SERVER['HTTP_USER_AGENT'];    $os = false;    if (preg_match('/win/i', $agent) && strpos($agent, '95')){        $os = 'Windows 95';    }else if (preg_match('/win 9x/i', $agent) && strpos($agent, '4.90')){        $os = 'Windows ME';    }else if (preg_match('/win/i', $agent) && preg_match('/98/i', $agent)){        $os = 'Windows 98';    }else if (preg_match('/win/i', $agent) && preg_match('/nt 6.0/i', $agent)){        $os = 'Windows Vista';    }else if (preg_match('/win/i', $agent) && preg_match('/nt 6.1/i', $agent)){        $os = 'Windows 7';    }else if (preg_match('/win/i', $agent) && preg_match('/nt 6.2/i', $agent)){        $os = 'Windows 8';    }else if(preg_match('/win/i', $agent) && preg_match('/nt 10.0/i', $agent)){        $os = 'Windows 10';#添加win10判断    }else if (preg_match('/win/i', $agent) && preg_match('/nt 5.1/i', $agent)){        $os = 'Windows XP';    }else if (preg_match('/win/i', $agent) && preg_match('/nt 5/i', $agent)){        $os = 'Windows 2000';    }else if (preg_match('/win/i', $agent) && preg_match('/nt/i', $agent)){        $os = 'Windows NT';    }else if (preg_match('/win/i', $agent) && preg_match('/32/i', $agent)){        $os = 'Windows 32';    }else if (preg_match('/linux/i', $agent)){        $os = 'Linux';    }else if (preg_match('/unix/i', $agent)){        $os = 'Unix';    }else if (preg_match('/sun/i', $agent) && preg_match('/os/i', $agent)){        $os = 'SunOS';    }else if (preg_match('/ibm/i', $agent) && preg_match('/os/i', $agent)){        $os = 'IBM OS/2';    }else if (preg_match('/Mac/i', $agent) && preg_match('/PC/i', $agent)){        $os = 'Macintosh';    }else if (preg_match('/PowerPC/i', $agent)){        $os = 'PowerPC';    }else if (preg_match('/AIX/i', $agent)){        $os = 'AIX';    }else if (preg_match('/HPUX/i', $agent)){        $os = 'HPUX';    }else if (preg_match('/NetBSD/i', $agent)){        $os = 'NetBSD';    }else if (preg_match('/BSD/i', $agent)){        $os = 'BSD';    }else if (preg_match('/OSF1/i', $agent)){        $os = 'OSF1';    }else if (preg_match('/IRIX/i', $agent)){        $os = 'IRIX';    }else if (preg_match('/FreeBSD/i', $agent)){        $os = 'FreeBSD';    }else if (preg_match('/teleport/i', $agent)){        $os = 'teleport';    }else if (preg_match('/flashget/i', $agent)){        $os = 'flashget';    }else if (preg_match('/webzip/i', $agent)){        $os = 'webzip';    }else if (preg_match('/offline/i', $agent)){        $os = 'offline';    }else{        $os = '未知操作系统';    }    return $os;}//获取ip地址public static function get_ip() {    //判断服务器是否允许$_SERVER    if (isset($_SERVER)) {        if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {            $realip = $_SERVER['HTTP_X_FORWARDED_FOR'];        } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {            $realip = $_SERVER['HTTP_CLIENT_IP'];        } else {            $realip = $_SERVER['REMOTE_ADDR'];        }    } else {        //不允许就使用getenv获取        if (getenv("HTTP_X_FORWARDED_FOR")) {            $realip = getenv("HTTP_X_FORWARDED_FOR");        } elseif (getenv("HTTP_CLIENT_IP")) {            $realip = getenv("HTTP_CLIENT_IP");        } else {            $realip = getenv("REMOTE_ADDR");        }    }    return $realip;}//获取当前ip所在城市public static function GetIpLookup($ip = ''){    if(empty($ip)){        return '请输入IP地址';    }    $test= 'http://ip.taobao.com/service/getIpInfo.php?ip='.$ip;    $res = @file_get_contents($test);    return $res;}}

以上就是php如何获取客户端信息的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的php如何获取客户端信息全部内容,希望文章能够帮你解决php如何获取客户端信息所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

扫码关注

qrcode

QQ交谈

回顶部