<?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("/msie\s+([^;)]+)+/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如何获取客户端信息的详细内容。
