首页 > 开发 > PHP > 正文

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

2024-05-04 22:38:54
字体:
来源:转载
供稿:网友

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

判断浏览器类型

//判断类型  <?phpif(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程序

<?phperror_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();//操作系统:  ?>            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表