> 백엔드 개발 > PHP 튜토리얼 > PHP는 브라우저 IP를 가져옵니다. 브라우저 IP 위치 운영 체제 이미지 출력

PHP는 브라우저 IP를 가져옵니다. 브라우저 IP 위치 운영 체제 이미지 출력

WBOY
풀어 주다: 2016-07-25 08:50:19
원래의
1196명이 탐색했습니다.
PHP는 브라우저의 IP 주소, 브라우저 IP가 위치한 운영 체제 및 그림 출력을 얻습니다. http://www.pc811.com/ip/i.php를 방문하면 데모 효과를 볼 수 있습니다. Windows 글꼴 패키지가 필요합니다. 글꼴 패키지는 디렉토리에 배치됩니다.
  1. header("Content-type: image/png");/*이미지임을 명시*/
  2. $width=350; /*사진 길이*/
  3. $height=120;/*사진 높이*/
  4. //$_GET["editname"]
  5. $size=11;/*글꼴 크기*/
  6. $ angle=0;/*회전 각도*/
  7. $font = "simhei.ttf";/*글꼴 설정*/
  8. $useragent=$useragent=$_SERVER['HTTP_USER_AGENT'];
  9. $signature =$_GET["signature"];//URL에서 전달된 매개변수
  10. /*이미지 속성 설정*/
  11. $im = imagecreatetruecolor($width, $height);
  12. /*$im = imagecreatefromjpeg ("logo.png");*/
  13. $white = imagecolorallocate($im, 255, 255, 255);/*배경색*/
  14. $grey = imagecolorallocate($im, 255, 0, 0);/*글꼴 색상*/
  15. $black = imagecolorallocate($im, 0, 0, 0);
  16. /*클라이언트 IP 주소 및 지역 가져오기*/
  17. 함수 주소($ip) {
  18. $info = json_decode(file_get_contents('http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip='.$ip.'&format=json' ) , false);
  19. if ($info ->ret == 1) {
  20. if ($info ->province != $info ->city) {
  21. return $info -> ; country.",".$info ->province."(".$info ->city.") ".$info ->district." ".$info ->desc;
  22. } else {
  23. return $info ->country.",".$info ->province." ".$info ->district." ".$info ->desc;
  24. }
  25. } else {
  26. return 'Earth';
  27. }
  28. }
  29. /*클라이언트 브라우저 버전 가져오기*/
  30. function browser($ua) {
  31. if (stripos( $ua , "Googlebot")) {
  32. $browser = "Google 스파이더";
  33. }
  34. elseif(stripos($ua, "Baiduspider") !== false) {
  35. $browser = "Baidu 스파이더";
  36. }
  37. elseif(stripos($ua, "Yahoo!") !== false) {
  38. $browser = "야후 스파이더";
  39. }
  40. elseif( Stripos( $ua, "bingbot")) {
  41. $browser = "Bingbot";
  42. }
  43. elseif(stripos($ua, "YRSpider")) {
  44. $browser = " 운남 스파이더";
  45. }
  46. elseif(stripos($ua, "예티") !== false) {
  47. $browser = "네이버 스파이더";
  48. }
  49. elseif(stripos ($ua, " Maxthon")) {
  50. if (stripos($ua, "AppleWebKit")) {
  51. $browser = "Maxthon";
  52. }
  53. elseif (stripos($ua, "Trident")) {
  54. $browser = "Aoyou 브라우저(호환 모드)";
  55. }
  56. elseif(stripos($ua, "MAXTHON 2.0")) {
  57. $browser = "訨游 브라우저 2.0";
  58. }
  59. }
  60. elseif(stripos($ua, "Firefox")) {
  61. $browser = "Firefox 브라우저";
  62. }
  63. elseif(stripos($ua, " Opera") == 0 && Stripos($ua, "Presto")) {
  64. $browser = "Opera";
  65. }
  66. elseif( Stripos($ua, "BIDUBrowser")) {
  67. if (stripos($ua, "Trident")) {
  68. $browser = "Baidu 브라우저(호환 모드)";
  69. }
  70. elseif(stripos($ua, "AppleWebKit")) {
  71. $browser = "Baidu 브라우저(극단 속도 모드)";
  72. }
  73. }
  74. elseif(stripos($ua, "Ruibin" )) {
  75. $browser = "Ruiying 브라우저 ";
  76. }
  77. elseif(stripos($ua, "qihu theworld")) {
  78. if (stripos($ua, "Trident" )) {
  79. $browser = "월드 윈도우 브라우저" ;
  80. }
  81. elseif(stripos($ua, "AppleWebKit")) {
  82. $browser = "월드 윈도우 브라우저(극단 속도 모드)";
  83. }
  84. }
  85. elseif (stripos($ua, "MetaSr")) {
  86. if (stripos($ua, "Trident")) {
  87. $browser = "Sogou 고속 브라우저(호환 모드)";
  88. }
  89. elseif(stripos($ua, "AppleWebKit")) {
  90. $browser = "Sogou 고속 브라우저(극단 속도 모드)";
  91. }
  92. }
  93. elseif(stripos($ua, "LBBROWSER")) {
  94. if (stripos($ua, "Trident")) {
  95. $browser = "치타 브라우저(호환 모드)";
  96. }
  97. elseif(stripos($ua, "AppleWebKit")) {
  98. $browser = "치타 브라우저(초고속 ​​모드)";
  99. }
  100. }
  101. elseif(stripos($ ua, "YLMFBR")) {
  102. $browser = "115 브라우저";
  103. }
  104. elseif(stripos($ua, "QQBrowser")) {
  105. if (stripos($ua, " Trident")) {
  106. $browser = "QQ 브라우저(호환 모드)";
  107. }
  108. elseif(stripos($ua, "AppleWebKit")) {
  109. $browser = "QQ 브라우저(극단 속도 모드)";
  110. }
  111. }
  112. elseif(stripos($ ua, "TencentTraveler")) {
  113. $browser = "Tencent TT 브라우저";
  114. }
  115. elseif(stripos($ua, "TaoBrowser")) {
  116. if (stripos($ua, " Trident")) {
  117. $browser = "타오바오 브라우저(호환 모드)";
  118. }
  119. elseif(stripos($ua, "AppleWebkit")) {
  120. $browser = "타오바오 브라우저 (극단 속도 모드)";
  121. }
  122. }
  123. elseif(stripos($ua, "CoolNovo")) {
  124. $browser = "메이플 브라우저";
  125. }
  126. elseif (stripos($ua, "SaaYaa")) {
  127. $browser = "플래시 브라우저";
  128. }
  129. elseif(stripos($ua, "360SE")) {
  130. $browser = " 360 보안 브라우저";
  131. }
  132. elseif(stripos($ua, "360EE")) {
  133. if (stripos($ua, "Trident")) {
  134. $ browser = "360 매우 빠른 브라우저(호환 모드)";
  135. }
  136. elseif(stripos($ua, "AppleWebkit")) {
  137. $browser = "360 매우 빠른 브라우저(매우 빠른 모드)";
  138. }
  139. }
  140. elseif(stripos($ua, "Chrome ")) {
  141. $browser = "Konqueror";
  142. }
  143. elseif(stripos($ua, "Chrome ")) {
  144. $browser = "Google 크롬";
  145. }
  146. elseif(stripos($ua, "Safari")) {
  147. $browser = "Safari";
  148. }
  149. elseif( Stripos($ua, "MSIE")) {
  150. $ver = 폭발(";", substr($ua, Stripos($ua, "MSIE") 5, 4));
  151. $ver = $ ver[0];
  152. $browser = "IE ".$ver;
  153. }
  154. elseif(stripos($ua, "UCWEB")) {
  155. $browser = " UCWEB 브라우저";
  156. }
  157. elseif(stripos($ua, "WAP")) {
  158. $browser = "모바일 브라우저";
  159. } else {
  160. $browser = $ ua;
  161. }
  162. if ($browser == '') $browser = $ua;
  163. return $browser;
  164. }
  165. /*운영 체제 버전 가져오기*/
  166. function os($ua) {
  167. $os = "";
  168. if (stripos($ua, "Googlebot")) {
  169. $os = "Google 스파이더";
  170. }
  171. elseif (stripos($ua, " Baiduspider") !== false) {
  172. $os = "Baiduspider";
  173. }
  174. elseif(stripos($ua, "Yahoo!") !== false ) {
  175. $os = "야후 스파이더";
  176. }
  177. elseif(stripos($ua, "bingbot")) {
  178. $os = "Bingbot";
  179. }
  180. elseif(stripos($ua, " YRSpider")) {
  181. $os = "YRSpider";
  182. }
  183. elseif(stripos($ua, "Yeti") !== false) {
  184. $os = "네이버 스파이더";
  185. }
  186. elseif(stripos($ua, "Windows NT")) {
  187. 스위치 (substr($ua, Stripos($ua, "Windows NT") 11, 3)) {
  188. 사례 5.0:
  189. {
  190. $os = "Windows 2000";
  191. 중단;
  192. }
  193. 사례 5.1:
  194. {
  195. $os = "Windows XP";
  196. break;
  197. }
  198. 사례 5.2:
  199. {
  200. $os = "Windows 2003";
  201. break;
  202. }
  203. 사례 6.0:
  204. {
  205. $os = "Windows Vista/2008";
  206. break;
  207. }
  208. 사례 6.1:
  209. {
  210. $os = "Windows 7 ";
  211. break;
  212. }
  213. 사례 6.2:
  214. {
  215. $os = "Windows 8";
  216. break;
  217. }
  218. 기본값:
  219. {
  220. $os = "Windows";
  221. break;
  222. }
  223. }
  224. if (stripos($ua, "WOW64")) {
  225. $os.= "(X64) ";
  226. } else {
  227. $ os.= "(X86)";
  228. }
  229. }
  230. elseif(stripos($ua, "Android")) {
  231. $os = substr($ua, Stripos($ua, " Android"), 11);
  232. }
  233. elseif(stripos($ua, "Linux")) {
  234. if (stripos($ua, " i686")) {
  235. $os = " Linux X86";
  236. } else {
  237. $os = "Linux";
  238. }
  239. if (stripos($ua, "X11") ) {
  240. $os.= "(X Window)";
  241. }
  242. }
  243. elseif(stripos($ua, "Macintosh")) {
  244. $os = "Mac";
  245. }
  246. elseif(stripos($ ua, "IOS")) {
  247. $os = "iOS";
  248. }
  249. elseif(stripos($ua, "ZTE")) {
  250. $os = "ZTE";
  251. }
  252. elseif(stripos($ua, "Windows 98")) {
  253. $os = "Windows 98";
  254. }else {
  255. $os = "알 수 없는 시스템";
  256. }
  257. return $os;
  258. }
  259. imagettftext($im, $size, $angle, 10, 15, $ grey, $font, "현재 주소:".address($_SERVER['REMOTE_ADDR']));
  260. imagettftext($im, $size, $angle, 10, 35, $grey, $font, "현재 IP : ".$_SERVER['REMOTE_ADDR']);
  261. imagettftext($im, $size, $angle, 10, 55, $grey, $font, "현재 브라우저: ".browser($useragent));
  262. imagettftext($im, $size, $angle, 10, 75, $grey, $font, "현재 운영 체제: ".os($useragent));
  263. imagettftext($im, $size, $ angle , 10, 95, $grey, $font, $signature!=""?$signature:"   컴퓨터 공제 네트워크 www.pc811.com");
  264. imagepng($im);
  265. imagedestroy($im);
  266. ?>
코드 복사


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿