当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-15 21:40:57 浏览: 评论:0 

这篇文章主要给大家分享了PHP判断浏览器、判断语言的代码,十分的简单,主要是对服务器预定义变量$_SERVER的获取分析,这里推荐给大家。

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

判断浏览器类型

  1. //判断类型   
  2. <?php 
  3. if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 8.0"))  
  4. echo "Internet Explorer 8.0";  
  5. else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 7.0"))  
  6. echo "Internet Explorer 7.0";  
  7. else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 6.0"))  
  8. echo "Internet Explorer 6.0";  
  9. else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/3"))  
  10. echo "Firefox 3";  
  11. else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/2"))  
  12. echo "Firefox 2";  
  13. else if(strpos($_SERVER["HTTP_USER_AGENT"],"Chrome"))  
  14. echo "Google Chrome";  
  15. else if(strpos($_SERVER["HTTP_USER_AGENT"],"Safari"))  
  16. echo "Safari";  
  17. else if(strpos($_SERVER["HTTP_USER_AGENT"],"Opera"))  
  18. echo "Opera";  
  19. else echo $_SERVER["HTTP_USER_AGENT"];  
  20. ?> 

判断语言

  1. <?php 
  2. $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //只取前4位,这样只判断最优先的语言。如果取前5位,可能出现en,zh的情况,影响判断。  
  3. if (preg_match("/zh-c/i"$lang))  
  4. echo "简体中文";  
  5. else if (preg_match("/zh/i"$lang))  
  6. echo "繁體中文";  
  7. else if (preg_match("/en/i"$lang))  
  8. echo "English";  
  9. else if (preg_match("/fr/i"$lang))  
  10. echo "French";  
  11. else if (preg_match("/de/i"$lang))  
  12. echo "German";  
  13. else if (preg_match("/jp/i"$lang))  
  14. echo "Japanese";  
  15. else if (preg_match("/ko/i"$lang))  
  16. echo "Korean";  
  17. else if (preg_match("/es/i"$lang))  
  18. echo "Spanish";  
  19. else if (preg_match("/sv/i"$lang))  
  20. echo "Swedish";  
  21. else echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];  
  22. ?> 

判断浏览器内核的PHP程序

  1. <?php 
  2. error_reporting(E_ALL & ~ E_NOTICE); 
  3. class clientGetObj   
  4. {   
  5. function getBrowse()   
  6. {   
  7. global $_SERVER;   
  8. $Agent = $_SERVER['HTTP_USER_AGENT'];   
  9. $browser = '';   
  10. $browserver = '';   
  11. $Browser = array('Lynx''MOSAIC''AOL''Opera''JAVA''MacWeb''WebExplorer''OmniWeb');   
  12. for($i = 0; $i <= 7; $i ++){   
  13. if(strpos($Agent$Browsers[$i])){   
  14. $browser = $Browsers[$i];   
  15. $browserver = '';   
  16. }   
  17. }   
  18. if(preg_match('/Mozilla/'$Agent) && !preg_match('/MSIE/'$Agent)){   
  19. $temp = explode('('$Agent);   
  20. $Part = $temp[0];   
  21. $temp = explode('/'$Part);   
  22. $browserver = $temp[1];   
  23. $temp = explode(' '$browserver);   
  24. $browserver = $temp[0];   
  25. $browserver = preg_replace('/([d.]+)/''1'$browserver);   
  26. $browserver = $browserver;   
  27. $browser = 'Netscape Navigator';   
  28. }   
  29. if(preg_match('/Mozilla/'$Agent) && preg_match('/Opera/'$Agent)) {   
  30. $temp = explode('('$Agent);   
  31. $Part = $temp[1];   
  32. $temp = explode(')'$Part);   
  33. $browserver = $temp[1];   
  34. $temp = explode(' '$browserver);   
  35. $browserver = $temp[2];   
  36. $browserver = preg_replace('/([d.]+)/''1'$browserver);   
  37. $browserver = $browserver;   
  38. $browser = 'Opera';   
  39. }   
  40. if(preg_match('/Mozilla/'$Agent) && preg_match('/MSIE/'$Agent)){   
  41. $temp = explode('('$Agent);   
  42. $Part = $temp[1];   
  43. $temp = explode(';'$Part);   
  44. $Part = $temp[1];   
  45. $temp = explode(' '$Part);   
  46. $browserver = $temp[2];   
  47. $browserver = preg_replace('/([d.]+)/','1',$browserver);   
  48. $browserver = $browserver;   
  49. $browser = 'Internet Explorer';   
  50. }   
  51. if($browser != ''){   
  52. $browseinfo = $browser.' '.$browserver;   
  53. else {  
  54. $browseinfo = false;   
  55. }   
  56. return $browseinfo;   
  57. }   
  58.     
  59. function getIP ()   
  60. {   
  61. global $_SERVER;   
  62. if (getenv('HTTP_CLIENT_IP')) {   
  63. $ip = getenv('HTTP_CLIENT_IP');   
  64. else if (getenv('HTTP_X_FORWARDED_FOR')) {   
  65. $ip = getenv('HTTP_X_FORWARDED_FOR');   
  66. else if (getenv('REMOTE_ADDR')) {   
  67. $ip = getenv('REMOTE_ADDR');   
  68. else {   
  69. $ip = $_SERVER['REMOTE_ADDR'];   
  70. }   
  71. return $ip;   
  72. }   
  73.     
  74. function getOS ()   
  75. {   
  76. global $_SERVER;   
  77. $agent = $_SERVER['HTTP_USER_AGENT'];   
  78. $os = false;   
  79. if (preg_match('/win/'$agent) && strpos($agent'95')){   
  80. $os = 'Windows 95';   
  81. }   
  82. else if (preg_match('/win 9x/'$agent) && strpos($agent'4.90')){   
  83. $os = 'Windows ME';   
  84. }   
  85. else if (preg_match('/win/'$agent) && preg_match('98'$agent)){   
  86. $os = 'Windows 98';   
  87. }   
  88. else if (preg_match('/win/'$agent) && preg_match('nt 5.1'$agent)){   
  89. $os = 'Windows XP';   
  90. }   
  91. else if (preg_match('/win/'$agent) && preg_match('nt 5'$agent)){   
  92. $os = 'Windows 2000';   
  93. }   
  94. else if (preg_match('/win/'$agent) && preg_match('nt'$agent)){   
  95. $os = 'Windows NT';   
  96. }   
  97. else if (preg_match('/win/'$agent) && preg_match('32'$agent)){   
  98. $os = 'Windows 32';   
  99. }   
  100. else if (preg_match('/linux/'$agent)){   
  101. $os = 'Linux';   
  102. }   
  103. else if (preg_match('/unix/'$agent)){   
  104. $os = 'Unix';   
  105. }   
  106. else if (preg_match('/sun/'$agent) && preg_match('os'$agent)){   
  107. $os = 'SunOS';   
  108. }   
  109. else if (preg_match('/ibm/'$agent) && preg_match('os'$agent)){   
  110. $os = 'IBM OS/2';   
  111. }   
  112. else if (preg_match('/Mac/'$agent) && preg_match('PC'$agent)){   
  113. $os = 'Macintosh';   
  114. }   
  115. else if (preg_match('/PowerPC/'$agent)){   
  116. $os = 'PowerPC';   
  117. }   
  118. else if (preg_match('/AIX/'$agent)){   
  119. $os = 'AIX';   
  120. }   
  121. else if (preg_match('/HPUX/'$agent)){   
  122. $os = 'HPUX';   
  123. }   
  124. else if (preg_match('/NetBSD/'$agent)){   
  125. $os = 'NetBSD';   
  126. }   
  127. else if (preg_match('/BSD/'$agent)){   
  128. $os = 'BSD';   
  129. }   
  130. else if (preg_match('/OSF1/'$agent)){   
  131. $os = 'OSF1';   
  132. }   
  133. else if (preg_match('/IRIX/'$agent)){   
  134. $os = 'IRIX';   
  135. }   
  136. else if (preg_match('/FreeBSD/'$agent)){   
  137. $os = 'FreeBSD';   
  138. }   
  139. else if (preg_match('/teleport/'$agent)){   
  140. $os = 'teleport';   
  141. }   
  142. else if (preg_match('/flashget/'$agent)){   
  143. $os = 'flashget';   
  144. }   
  145. else if (preg_match('/webzip/'$agent)){   
  146. $os = 'webzip';   
  147. }   
  148. else if (preg_match('/offline/'$agent)){   
  149. $os = 'offline';   
  150. }   
  151. else {   
  152. $os = 'Unknown';   
  153. }   
  154. return $os;   
  155. }   
  156. $code = new clientGetObj;   
  157. echo $str1 = $code->getBrowse()."<br>";//浏览器:   
  158. echo $str2 = $code->getIP()."<br>";//IP地址:   
  159. echo $str3 = $code->getOS();//操作系统:   
  160. ?> 

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

Tags: PHP浏览器 PHP判断语言

分享到: