欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP判断浏览器、判断语言代码分享

程序员文章站 2022-05-15 08:57:59
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获取服务器信息的常用信息了,希望大家能够喜欢。