PHP判断浏览器、判断语言代码分享
PHP编程中经常需要用到一些服务器的一些资料,特把$_SERVER的详细参数整理下,方便以后使用。
判断浏览器类型
//判断类型 <?php if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE8.0")) echo"InternetExplorer8.0"; elseif(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE7.0")) echo"InternetExplorer7.0"; elseif(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE6.0")) echo"InternetExplorer6.0"; elseif(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/3")) echo"Firefox3"; elseif(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/2")) echo"Firefox2"; elseif(strpos($_SERVER["HTTP_USER_AGENT"],"Chrome")) echo"GoogleChrome"; elseif(strpos($_SERVER["HTTP_USER_AGENT"],"Safari")) echo"Safari"; elseif(strpos($_SERVER["HTTP_USER_AGENT"],"Opera")) echo"Opera"; elseecho$_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"简体中文";
elseif(preg_match("/zh/i",$lang))
echo"繁體中文";
elseif(preg_match("/en/i",$lang))
echo"English";
elseif(preg_match("/fr/i",$lang))
echo"French";
elseif(preg_match("/de/i",$lang))
echo"German";
elseif(preg_match("/jp/i",$lang))
echo"Japanese";
elseif(preg_match("/ko/i",$lang))
echo"Korean";
elseif(preg_match("/es/i",$lang))
echo"Spanish";
elseif(preg_match("/sv/i",$lang))
echo"Swedish";
elseecho$_SERVER["HTTP_ACCEPT_LANGUAGE"];
?>
判断浏览器内核的PHP程序
<?php
error_reporting(E_ALL&~E_NOTICE);
classclientGetObj
{
functiongetBrowse()
{
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='NetscapeNavigator';
}
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='InternetExplorer';
}
if($browser!=''){
$browseinfo=$browser.''.$browserver;
}else{
$browseinfo=false;
}
return$browseinfo;
}
functiongetIP()
{
global$_SERVER;
if(getenv('HTTP_CLIENT_IP')){
$ip=getenv('HTTP_CLIENT_IP');
}elseif(getenv('HTTP_X_FORWARDED_FOR')){
$ip=getenv('HTTP_X_FORWARDED_FOR');
}elseif(getenv('REMOTE_ADDR')){
$ip=getenv('REMOTE_ADDR');
}else{
$ip=$_SERVER['REMOTE_ADDR'];
}
return$ip;
}
functiongetOS()
{
global$_SERVER;
$agent=$_SERVER['HTTP_USER_AGENT'];
$os=false;
if(preg_match('/win/',$agent)&&strpos($agent,'95')){
$os='Windows95';
}
elseif(preg_match('/win9x/',$agent)&&strpos($agent,'4.90')){
$os='WindowsME';
}
elseif(preg_match('/win/',$agent)&&preg_match('98',$agent)){
$os='Windows98';
}
elseif(preg_match('/win/',$agent)&&preg_match('nt5.1',$agent)){
$os='WindowsXP';
}
elseif(preg_match('/win/',$agent)&&preg_match('nt5',$agent)){
$os='Windows2000';
}
elseif(preg_match('/win/',$agent)&&preg_match('nt',$agent)){
$os='WindowsNT';
}
elseif(preg_match('/win/',$agent)&&preg_match('32',$agent)){
$os='Windows32';
}
elseif(preg_match('/linux/',$agent)){
$os='Linux';
}
elseif(preg_match('/unix/',$agent)){
$os='Unix';
}
elseif(preg_match('/sun/',$agent)&&preg_match('os',$agent)){
$os='SunOS';
}
elseif(preg_match('/ibm/',$agent)&&preg_match('os',$agent)){
$os='IBMOS/2';
}
elseif(preg_match('/Mac/',$agent)&&preg_match('PC',$agent)){
$os='Macintosh';
}
elseif(preg_match('/PowerPC/',$agent)){
$os='PowerPC';
}
elseif(preg_match('/AIX/',$agent)){
$os='AIX';
}
elseif(preg_match('/HPUX/',$agent)){
$os='HPUX';
}
elseif(preg_match('/NetBSD/',$agent)){
$os='NetBSD';
}
elseif(preg_match('/BSD/',$agent)){
$os='BSD';
}
elseif(preg_match('/OSF1/',$agent)){
$os='OSF1';
}
elseif(preg_match('/IRIX/',$agent)){
$os='IRIX';
}
elseif(preg_match('/FreeBSD/',$agent)){
$os='FreeBSD';
}
elseif(preg_match('/teleport/',$agent)){
$os='teleport';
}
elseif(preg_match('/flashget/',$agent)){
$os='flashget';
}
elseif(preg_match('/webzip/',$agent)){
$os='webzip';
}
elseif(preg_match('/offline/',$agent)){
$os='offline';
}
else{
$os='Unknown';
}
return$os;
}
}
$code=newclientGetObj;
echo$str1=$code->getBrowse()."<br>";//浏览器:
echo$str2=$code->getIP()."<br>";//IP地址:
echo$str3=$code->getOS();//操作系统:
?>
以上就是个人整理的关于$_SERVER获取服务器信息的常用信息了,希望大家能够喜欢。