php教程

超轻量级php框架startmvc

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

更新时间:2020-03-03 05:00:02 作者:startmvc
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 判断浏览器 判断语言