> 백엔드 개발 > PHP 튜토리얼 > 클라이언트 IP 주소, 지리 정보, 브라우저 정보 및 로컬 실제 IP를 얻기 위한 PHP 코드

클라이언트 IP 주소, 지리 정보, 브라우저 정보 및 로컬 실제 IP를 얻기 위한 PHP 코드

WBOY
풀어 주다: 2016-07-25 09:04:35
원래의
943명이 탐색했습니다.
  1. // 클라이언트의 IP, 지리정보, 브라우저를 가져오는 함수
  2. class get_gust_info {
  3. ////Get 방문자 브라우저 유형
  4. function GetBrowser(){
  5. if(!empty($_SERVER['HTTP_USER_AGENT'])){
  6. $br = $_SERVER['HTTP_USER_AGENT'];
  7. if (preg_match( '/MSIE/i',$br)) {
  8. $br = 'MSIE';
  9. }elseif (preg_match('/Firefox/i',$br)) {
  10. $br = 'Firefox ';
  11. }elseif (preg_match('/Chrome/i',$br)) {
  12. $br = 'Chrome';
  13. }elseif (preg_match('/Safari/i',$br) ) {
  14. $br = 'Safari';
  15. }elseif (preg_match('/Opera/i',$br)) {
  16. $br = 'Opera';
  17. }else {
  18. $br = 'Other';
  19. }
  20. return $br;
  21. }else{return "브라우저 정보를 가져오지 못했습니다!";}
  22. }
  23. //// 방문자 브라우저 언어 가져오기
  24. function GetLang(){
  25. if(!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
  26. $lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
  27. $lang = substr($lang,0,5);
  28. if(preg_match("/zh-cn/i",$lang)){
  29. $lang = "중국어 간체";
  30. }elseif(preg_match( "/zh/i",$lang)){
  31. $lang = "중국어 번체";
  32. }else{
  33. $lang = "영어";
  34. }
  35. return $lang ;
  36. }else{return "브라우저 언어를 가져오지 못했습니다! ";}
  37. }
  38. ////게스트 운영 체제 가져오기
  39. function GetOs(){
  40. if(!empty($_SERVER['HTTP_USER_AGENT'])){
  41. $OS = $_SERVER['HTTP_USER_AGENT'];
  42. if (preg_match('/win/i',$OS)) {
  43. $OS = 'Windows';
  44. }elseif (preg_match(' / mac/i',$OS)) {
  45. $OS = 'MAC';
  46. }elseif (preg_match('/linux/i',$OS)) {
  47. $OS = 'Linux' ;
  48. }elseif (preg_match('/unix/i',$OS)) {
  49. $OS = 'Unix';
  50. }elseif (preg_match('/bsd/i',$OS)) {
  51. $OS = 'BSD';
  52. }else {
  53. $OS = '기타';
  54. }
  55. return $OS
  56. }else{return "게스트 운영 체제 가져오기; 정보 실패! ";}
  57. }
  58. ////방문자의 실제 IP 가져오기
  59. function Getip(){
  60. if(!empty($_SERVER["HTTP_CLIENT_IP"])){
  61. $ip = $_SERVER["HTTP_CLIENT_IP"];
  62. }
  63. if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ //프록시 IP 가져오기
  64. $ips =explore(',' , $_SERVER['HTTP_X_FORWARDED_FOR']);
  65. }
  66. if($ip){
  67. $ips = array_unshift($ips,$ip)
  68. }
  69. $count = 개수($ips);
  70. for($i=0;$i<$count;$i ){
  71. if(!preg_match("/^(10|172.16|192.168)./i", $ ips[$i])){//LAN IP 제외
  72. $ip = $ips[$i];
  73. break
  74. }
  75. }
  76. $tip = 비어 있음($_SERVER [ 'REMOTE_ADDR']) ? $ip : $_SERVER['REMOTE_ADDR'];
  77. if($tip=="127.0.0.1"){ //로컬 실제 IP 가져오기
  78. return $this-> get_onlineip( );
  79. }else{
  80. return $tip;
  81. }
  82. }
  83. ////로컬 실제 IP 가져오기
  84. function get_onlineip() {
  85. $mip = file_get_contents("http://city.ip138.com/city0.asp");
  86. if($mip){
  87. preg_match("/[.*]/",$mip,$ sip);
  88. $p = array("/[/","/]/");
  89. return preg_replace($p,"",$sip[0]);
  90. }else{return "로컬 IP 가져오기 실패! ";}
  91. }
  92. ////IP를 기준으로 방문자의 위치 이름을 가져옵니다.
  93. function Getaddress($ip=''){
  94. if(empty($ip)){
  95. $ip = $this->Getip();
  96. }
  97. $ipadd = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip= ".$ip);//Sina API 인터페이스에 따라
  98. 가져오기 if($ipadd){
  99. $charset = iconv("gbk","utf-8",$ipadd);
  100. preg_match_all( "/[ x{4e00}-x{9fa5}] /u",$charset,$ipadds);
  101. return $ipadds; //2차원 배열 반환
  102. }else{return " addree는 없음" ;}
  103. }
  104. }
  105. $gifo = new get_gust_info();
  106. echo "귀하의 IP:".$gifo->Getip();
  107. echo "< ;br/ >위치: ";
  108. $ipadds = $gifo->Getaddress();
  109. foreach($ipadds[0] as $value){
  110. echo "rn ".iconv(" utf-8 ","gbk",$value);
  111. }
  112. echo "
    브라우저 유형: ".$gifo->GetBrowser();
  113. echo "
    브라우저 언어: ".$gifo->GetLang();
  114. echo "
    운영 체제: ".$gifo->GetOs();
  115. ?> ;
코드 복사

>>> 관심을 가질 만한 기사: 사용자의 실제 IP 주소에 대한 PHP 코드를 가져옵니다 PHP를 사용하여 외부 네트워크의 실제 IP를 얻는 두 가지 방법 정확한 클라이언트 IP 주소를 얻기 위한 PHP 코드 PHP에서 클라이언트의 실제 IP를 얻는 방법 소개 PHP는 IP를 통해 지리적 위치 코드를 얻습니다 웹사이트 위치 및 운영 체제 정보를 얻기 위한 PHP용 코드 공유 IP를 통해 지리적 위치를 획득하기 위한 PHP의 참조 예 사용자의 실제 IP와 지리적 위치를 얻기 위한 PHP 구현 코드(Taobao IP 인터페이스) php는 IP 주소를 기반으로 현재 지리적 위치 인터페이스를 얻습니다



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