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();//操作系统:  ?>

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