php 获取客户浏览器与操作系统类型

  1. <?php
  2. function browse_infor()
  3. {
  4. $browser="";$browserver="";
  5. //
  6. $browsers =array("lynx","mosaic","aol","opera","java","macweb","webexplorer","omniweb");
  7. $agent = $globals["http_user_agent"];
  8. for ($i=0; $i<=7; $i++) //phpfensi.com
  9. {
  10. if (strpos($agent,$browsers[$i]))
  11. {
  12. $browser = $browsers[$i];
  13. $browserver ="";
  14. }
  15. }
  16. if (ereg("mozilla",$agent) && !ereg("msie",$agent)) //phpfensi.com
  17. {
  18. $temp =explode("(", $agent); $part=$temp[0];
  19. $temp =explode("/", $part); $browserver=$temp[1];
  20. //开源
  21. $temp =explode(" ",$browserver); $browserver=$temp[0];
  22. $browserver =preg_replace("/([d.]+)/","1",$browserver);
  23. $browserver = " $browserver"; //
  24. $browser = "netscape navigator";
  25. }
  26. if (ereg("mozilla",$agent) && ereg("opera",$agent))
  27. {
  28. $temp =explode("(", $agent); $part=$temp[1];
  29. //phpfensi.com
  30. $temp =explode(")", $part); $browserver=$temp[1];
  31. $temp =explode(" ",$browserver);$browserver=$temp[2];
  32. //phpfensi.com
  33. $browserver =preg_replace("/([d.]+)/","1",$browserver);
  34. $browserver = " $browserver";
  35. $browser = "opera";
  36. }
  37. if (ereg("mozilla",$agent) && ereg("msie",$agent))
  38. //phpfensi.com
  39. {
  40. $temp = explode("(", $agent); $part=$temp[1];
  41. $temp = explode(";",$part); $part=$temp[1]; //
  42. $temp = explode(" ",$part);$browserver=$temp[2];
  43. $browserver =preg_replace("/([d.]+)/","1",$browserver);
  44. $browserver = " $browserver"; //
  45. $browser = "internet explorer";
  46. }
  47. if ($browser!="")
  48. {
  49. $browseinfo = "$browser$browserver";
  50. }
  51. else
  52. {
  53. $browseinfo = "unknown";
  54. }
  55. return $browseinfo;
  56. }
  57. //调用方法$browser=browseinfo() ;直接返回结果
  58. ?>
  59. ====
  60. 获取访问者操作系统
  61. <?
  62. function osinfo() {
  63. $os="";
  64. $agent = $globals["http_user_agent"];
  65. if (eregi('win',$agent) && strpos($agent, '95')) { //
  66. $os="windows 95";
  67. }
  68. elseif (eregi('win 9x',$agent) && strpos($agent, '4.90')) {
  69. $os="windows me";
  70. }
  71. elseif (eregi('win',$agent) && ereg('98',$agent)) {
  72. //开源
  73. $os="windows 98";
  74. }
  75. elseif (eregi('win',$agent) && eregi('nt 5.0',$agent)) {
  76. $os="windows 2000";
  77. }
  78. elseif (eregi('win',$agent) && eregi('nt',$agent)) {
  79. //开源
  80. $os="windows nt";
  81. }
  82. elseif (eregi('win',$agent) && eregi('nt 5.1',$agent)) {
  83. $os="windows xp";
  84. }
  85. elseif (eregi('win',$agent) && ereg('32',$agent)) {
  86. //开源
  87. $os="windows 32";
  88. }
  89. elseif (eregi('linux',$agent)) {
  90. $os="linux";
  91. }
  92. elseif (eregi('unix',$agent)) {
  93. $os="unix"; //php一聚教程
  94. }
  95. elseif (eregi('sun',$agent) && eregi('os',$agent)) {
  96. $os="sunos";
  97. }
  98. elseif (eregi('ibm',$agent) && eregi('os',$agent)) { //
  99. $os="ibm os/2";
  100. }
  101. elseif (eregi('mac',$agent) && eregi('pc',$agent)) {
  102. $os="macintosh";
  103. }
  104. elseif (eregi('powerpc',$agent)) { //
  105. $os="powerpc";
  106. }
  107. elseif (eregi('aix',$agent)) {
  108. $os="aix";
  109. }
  110. elseif (eregi('hpux',$agent)) {
  111. $os="hpux";
  112. //phpfensi.com
  113. }
  114. elseif (eregi('netbsd',$agent)) {
  115. $os="netbsd";
  116. }
  117. elseif (eregi('bsd',$agent)) {
  118. $os="bsd";
  119. }
  120. elseif (ereg('osf1',$agent)) {
  121. //phpfensi.com
  122. $os="osf1";
  123. }
  124. elseif (ereg('irix',$agent)) {
  125. $os="irix";
  126. }
  127. elseif (eregi('freebsd',$agent)) {
  128. $os="freebsd";
  129. //
  130. }
  131. if ($os=='') $os = "unknown";
  132. return $os;
  133. }
  134. //调用方法$os=os_infor() ;
  135. ?>