>백엔드 개발 >PHP 튜토리얼 >클라이언트 정보를 얻기 위한 PHP 클래스

클라이언트 정보를 얻기 위한 PHP 클래스

WBOY
WBOY원래의
2016-07-25 08:56:071018검색
  1. /**
  2. * 방문자 정보 획득을 위한 클래스: 언어, 브라우저, 운영 체제, IP, 지리적 위치, ISP.
  3. * 날짜: 2013/10/11
  4. * 편집자: bbs.it-home.org
  5. * 사용:
  6. $obj = new class_guest_info
  7. $obj->GetLang() ; //방문자 언어 가져오기: 중국어 간체, 중국어 번체, 영어.
  8. $obj->GetBrowser(); //방문자의 브라우저를 가져옵니다: MSIE, Firefox, Chrome, Safari, Opera, 기타.
  9. $obj->GetOS(); //게스트 운영 체제를 가져옵니다: Windows, MAC, Linux, Unix, BSD, 기타.
  10. $obj->GetIP() //방문자 IP 주소를 가져옵니다.
  11. $obj->GetAdd(); //방문자의 지리적 위치를 가져오고 Baidu 숨겨진 인터페이스를 사용합니다.
  12. $obj->GetIsp(); //게스트 ISP를 가져와 Baidu 숨겨진 인터페이스를 사용합니다.
  13. */
  14. class class_guest_info{
  15. function GetLang() {
  16. $Lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4)
  17. //substr()을 사용하여 문자열을 가로채고 0부터 시작하여 4자를 가로채세요
  18. if (preg_match('/zh-c/ i ',$Lang)) {
  19. //preg_match() 정규식 일치 함수
  20. $Lang = 'Simplified Chinese'
  21. }
  22. elseif (preg_match('/zh/i', $Lang )) {
  23. $Lang = '중국어 번체';
  24. }
  25. else {
  26. $Lang = '영어'
  27. }
  28. return $Lang; > function GetBrowser() {
  29. $Browser = $_SERVER['HTTP_USER_AGENT']
  30. if (preg_match('/MSIE/i',$Browser)) {
  31. $Browser = 'MSIE' ; 🎜> }
  32. elseif (preg_match('/Firefox/i',$Browser)) {
  33. $Browser = 'Firefox';
  34. }
  35. elseif (preg_match('/Chrome/i ', $Browser)) {
  36. $Browser = 'Chrome';
  37. }
  38. elseif (preg_match('/Safari/i',$Browser)) {
  39. $Browser = 'Safari'; > }
  40. elseif (preg_match('/Opera/i',$Browser)) {
  41. $Browser = 'Opera'
  42. }
  43. else {
  44. $Browser = '기타';
  45. }
  46. return $Browser;
  47. }
  48. function GetOS() {
  49. $OS = $_SERVER['HTTP_USER_AGENT']
  50. if (preg_match('/win/ i' ,$OS)) {
  51. $OS = 'Windows';
  52. }
  53. elseif (preg_match('/mac/i',$OS)) {
  54. $OS = 'MAC' ; 🎜> }
  55. elseif (preg_match('/linux/i',$OS)) {
  56. $OS = 'Linux';
  57. }
  58. elseif (preg_match('/unix/i ', $OS)) {
  59. $OS = '유닉스';
  60. }
  61. elseif (preg_match('/bsd/i',$OS)) {
  62. $OS = 'BSD'; > }
  63. else {
  64. $OS = '기타';
  65. }
  66. $OS 반환
  67. }
  68. function GetIP() {
  69. if (!empty( $_SERVER ['HTTP_CLIENT_IP'])) {
  70. //변수가 비어 있지 않거나 0이 아닌 값인 경우, empty()는 FALSE를 반환합니다.
  71. $IP = 폭발(',',$_SERVER['HTTP_CLIENT_IP']);
  72. }
  73. elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  74. $IP = 폭발 (',',$_SERVER['HTTP_X_FORWARDED_FOR']);
  75. }
  76. elseif (!empty($_SERVER['REMOTE_ADDR'])) {
  77. $IP =explore(',',$_SERVER ['REMOTE_ADDR']);
  78. }
  79. else {
  80. $IP[0] = '없음'
  81. }
  82. return $IP[0]; 개인 함수 GetAddIsp() {
  83. $IP = $this->GetIP()
  84. $AddIsp = mb_convert_encoding(file_get_contents('http://open.baidu.com/ipsearch/s?tn=ipjson&wd= '.$IP),'UTF-8','GBK');
  85. //mb_convert_encoding() 문자 인코딩을 변환합니다.
  86. if (preg_match('/noresult/i',$AddIsp)) {
  87. $AddIsp = '없음';
  88. }
  89. else {
  90. $Sta = Stripos($AddIsp,$IP) strlen($IP) strlen('来自');
  91. $Len = Stripos($AddIsp,'"}')-$Sta;
  92. $AddIsp = substr($AddIsp,$Sta,$Len);
  93. }
  94. $AddIsp = 폭발( '',$AddIsp);
  95. $AddIsp;
  96. }
  97. $Add = $this->GetAddIsp(
  98. return $Add[0])
  99. function GetIsp() {
  100. $Isp = $this->GetAddIsp()
  101. if ($Isp[0] != 'None' && isset($Isp[1); ])) {
  102. $Isp = $Isp[1]
  103. }
  104. else {
  105. $Isp = '없음'
  106. }
  107. return $Isp
  108. }
  109. ? >
  110. 자세히 보기
>>> 저희에게 연락하세요: php에 IP 주소가 없습니다

php가 IP 주소에 연결되어 있습니다 php에 IP 주소가 있습니다 PHP IP 주소 연결 php는 PHP 네트워크의 일부가 아닌 PHP 디렉토리입니다. 비밀번호에 php IP주소를 등록하세요 php 주소 IP 주소(IP 주소) 주소 php는 전화기의 IP 주소입니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.