Discuz教程网

php取得客户端(浏览器/IP/操作系统) 信息

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


  155. 使用方法:

  156. <?php   
  157. $code = new clientGetObj;   
  158. $str1 = $code->getBrowse();//浏览器:   
  159. $str2 = $code->getIP();//IP地址:   
  160. $str3 = $code->getOS();//操作系统:   
  161. ?>  
复制代码





上一篇:PHP超强大的发邮件类
下一篇:简单的文件处理函数
authicon fhiejkl 发表于 2011-6-19 10:59:51 | 显示全部楼层
支持楼主,顶一下
authicon icenna 发表于 2011-6-19 14:59:44 | 显示全部楼层
这个贴不错!!!
authicon 馥郁渊汀 发表于 2011-6-22 14:59:45 | 显示全部楼层
哦哦,发财了啊,看到好东西啦
authicon kurt226 发表于 2011-6-26 11:59:54 | 显示全部楼层
看一下啊,嘻嘻
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-3 01:50

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表