PHP判断浏览器、判断语言代码分享
程序员文章站
2022-11-15 16:55:03
php编程中经常需要用到一些服务器的一些资料,特把$_server的详细参数整理下,方便以后使用。
判断浏览器类型
//判断类型
php编程中经常需要用到一些服务器的一些资料,特把$_server的详细参数整理下,方便以后使用。
判断浏览器类型
//判断类型 <?php if(strpos($_server["http_user_agent"],"msie 8.0")) echo "internet explorer 8.0"; else if(strpos($_server["http_user_agent"],"msie 7.0")) echo "internet explorer 7.0"; else if(strpos($_server["http_user_agent"],"msie 6.0")) echo "internet explorer 6.0"; else if(strpos($_server["http_user_agent"],"firefox/3")) echo "firefox 3"; else if(strpos($_server["http_user_agent"],"firefox/2")) echo "firefox 2"; else if(strpos($_server["http_user_agent"],"chrome")) echo "google chrome"; else if(strpos($_server["http_user_agent"],"safari")) echo "safari"; else if(strpos($_server["http_user_agent"],"opera")) echo "opera"; else echo $_server["http_user_agent"]; ?>
判断语言
<?php $lang = substr($_server['http_accept_language'], 0, 4); //只取前4位,这样只判断最优先的语言。如果取前5位,可能出现en,zh的情况,影响判断。 if (preg_match("/zh-c/i", $lang)) echo "简体中文"; else if (preg_match("/zh/i", $lang)) echo "繁體中文"; else if (preg_match("/en/i", $lang)) echo "english"; else if (preg_match("/fr/i", $lang)) echo "french"; else if (preg_match("/de/i", $lang)) echo "german"; else if (preg_match("/jp/i", $lang)) echo "japanese"; else if (preg_match("/ko/i", $lang)) echo "korean"; else if (preg_match("/es/i", $lang)) echo "spanish"; else if (preg_match("/sv/i", $lang)) echo "swedish"; else echo $_server["http_accept_language"]; ?>
判断浏览器内核的php程序
<?php error_reporting(e_all & ~ e_notice); class clientgetobj { function getbrowse() { global $_server; $agent = $_server['http_user_agent']; $browser = ''; $browserver = ''; $browser = array('lynx', 'mosaic', 'aol', 'opera', 'java', 'macweb', 'webexplorer', 'omniweb'); for($i = 0; $i <= 7; $i ++){ if(strpos($agent, $browsers[$i])){ $browser = $browsers[$i]; $browserver = ''; } } if(preg_match('/mozilla/', $agent) && !preg_match('/msie/', $agent)){ $temp = explode('(', $agent); $part = $temp[0]; $temp = explode('/', $part); $browserver = $temp[1]; $temp = explode(' ', $browserver); $browserver = $temp[0]; $browserver = preg_replace('/([d.]+)/', '1', $browserver); $browserver = $browserver; $browser = 'netscape navigator'; } if(preg_match('/mozilla/', $agent) && preg_match('/opera/', $agent)) { $temp = explode('(', $agent); $part = $temp[1]; $temp = explode(')', $part); $browserver = $temp[1]; $temp = explode(' ', $browserver); $browserver = $temp[2]; $browserver = preg_replace('/([d.]+)/', '1', $browserver); $browserver = $browserver; $browser = 'opera'; } if(preg_match('/mozilla/', $agent) && preg_match('/msie/', $agent)){ $temp = explode('(', $agent); $part = $temp[1]; $temp = explode(';', $part); $part = $temp[1]; $temp = explode(' ', $part); $browserver = $temp[2]; $browserver = preg_replace('/([d.]+)/','1',$browserver); $browserver = $browserver; $browser = 'internet explorer'; } if($browser != ''){ $browseinfo = $browser.' '.$browserver; } else { $browseinfo = false; } return $browseinfo; } function getip () { global $_server; if (getenv('http_client_ip')) { $ip = getenv('http_client_ip'); } else if (getenv('http_x_forwarded_for')) { $ip = getenv('http_x_forwarded_for'); } else if (getenv('remote_addr')) { $ip = getenv('remote_addr'); } else { $ip = $_server['remote_addr']; } return $ip; } function getos () { global $_server; $agent = $_server['http_user_agent']; $os = false; if (preg_match('/win/', $agent) && strpos($agent, '95')){ $os = 'windows 95'; } else if (preg_match('/win 9x/', $agent) && strpos($agent, '4.90')){ $os = 'windows me'; } else if (preg_match('/win/', $agent) && preg_match('98', $agent)){ $os = 'windows 98'; } else if (preg_match('/win/', $agent) && preg_match('nt 5.1', $agent)){ $os = 'windows xp'; } else if (preg_match('/win/', $agent) && preg_match('nt 5', $agent)){ $os = 'windows 2000'; } else if (preg_match('/win/', $agent) && preg_match('nt', $agent)){ $os = 'windows nt'; } else if (preg_match('/win/', $agent) && preg_match('32', $agent)){ $os = 'windows 32'; } else if (preg_match('/linux/', $agent)){ $os = 'linux'; } else if (preg_match('/unix/', $agent)){ $os = 'unix'; } else if (preg_match('/sun/', $agent) && preg_match('os', $agent)){ $os = 'sunos'; } else if (preg_match('/ibm/', $agent) && preg_match('os', $agent)){ $os = 'ibm os/2'; } else if (preg_match('/mac/', $agent) && preg_match('pc', $agent)){ $os = 'macintosh'; } else if (preg_match('/powerpc/', $agent)){ $os = 'powerpc'; } else if (preg_match('/aix/', $agent)){ $os = 'aix'; } else if (preg_match('/hpux/', $agent)){ $os = 'hpux'; } else if (preg_match('/netbsd/', $agent)){ $os = 'netbsd'; } else if (preg_match('/bsd/', $agent)){ $os = 'bsd'; } else if (preg_match('/osf1/', $agent)){ $os = 'osf1'; } else if (preg_match('/irix/', $agent)){ $os = 'irix'; } else if (preg_match('/freebsd/', $agent)){ $os = 'freebsd'; } else if (preg_match('/teleport/', $agent)){ $os = 'teleport'; } else if (preg_match('/flashget/', $agent)){ $os = 'flashget'; } else if (preg_match('/webzip/', $agent)){ $os = 'webzip'; } else if (preg_match('/offline/', $agent)){ $os = 'offline'; } else { $os = 'unknown'; } return $os; } } $code = new clientgetobj; echo $str1 = $code->getbrowse()."<br>";//浏览器: echo $str2 = $code->getip()."<br>";//ip地址: echo $str3 = $code->getos();//操作系统: ?>
以上就是个人整理的关于$_server获取服务器信息的常用信息了,希望大家能够喜欢。
上一篇: PHP解析RSS的方法