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获取服务器信息的常用信息了,希望大家能够喜欢。