温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP如何实现判断浏览器、判断语言的方法

发布时间:2021-07-01 09:25:25 阅读:155 作者:chen 栏目:开发技术
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

本篇内容介绍了“PHP如何实现判断浏览器、判断语言的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

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'], 04); //只取前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();//操作系统:  
?>

“PHP如何实现判断浏览器、判断语言的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI

开发者交流群×