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

PHP编程中经常需要用到一些服务器的一些资料,特把$_SERVER的详细参数整理下,方便以后使用。

判断浏览器类型

rush:PHP;"> //判断类型

判断语言

rush:PHP;">

判断浏览器内核的PHP程序

rush: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(')',$browserver); $browserver = $temp[2]; $browserver = preg_replace('/([d.]+)/',$browserver); $browserver = $browserver; $browser = 'Opera'; } if(preg_match('/Mozilla/',$Agent) && preg_match('/MSIE/',$Agent); $Part = $temp[1]; $temp = explode(';',$Part); $Part = $temp[1]; $temp = explode(' ',$Part); $browserver = $temp[2]; $browserver = preg_replace('/([d.]+)/',$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/','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)){
$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()."
";//浏览器:
echo $str2 = $code->getIP()."
";//IP地址:
echo $str3 = $code->getoS();//操作系统:
?>

以上就是个人整理的关于$_SERVER获取服务器信息的常用信息了,希望大家能够喜欢。

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...