首頁  >  文章  >  後端開發  >  php獲取客戶端資訊的類

php獲取客戶端資訊的類

WBOY
WBOY原創
2016-07-25 08:56:07993瀏覽
  1. /**
  2. * 取得訪客資訊的類別:語言、瀏覽器、作業系統、IP、地理位置、ISP。
  3. * 日期:2013/10/11
  4. * 編輯:bbs.it-home.org
  5. * 使用:
  6. $obj = new class_guest_info;
  7. $obj->GetLang() ; //取得訪客語言:簡體中文、繁體中文、English。
  8. $obj->GetBrowser(); //取得訪客瀏覽器:MSIE、Firefox、Chrome、Safari、Opera、Other。
  9. $obj->GetOS(); //取得訪客作業系統:Windows、MAC、Linux、Unix、BSD、Other。
  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 = '簡體中文';
  21. }
  22. elseif (preg_match('/zh/i', $語言)) {
  23. $Lang = '繁體中文';
  24. }
  25. else {
  26. $Lang = 'English';
  27. }
  28. return $Lang;
  29. }
  30. function GetBrowser() {
  31. $Browser = $_SERVER['HTTP_USER_AGENT'];
  32. if (preg_match('/MSIE/i',$Browser)) {
  33. $Browser = 'MSIE ;
  34. }
  35. elseif (preg_match('/Firefox/i',$Browser)) {
  36. $Browser = 'Firefox';
  37. }
  38. elseif (preg_match('/Chrome/i ' ,$Browser)) {
  39. $Browser = 'Chrome';
  40. }
  41. elseif (preg_match('/Safari/i',$Browser)) {
  42. $Browser = 'Safari';
  43. }
  44. elseif (preg_match('/Opera/i',$Browser)) {
  45. $Browser = 'Opera';
  46. }
  47. else {
  48. $Browser = 'Other ' ;
  49. }
  50. return $Browser;
  51. }
  52. function GetOS() {
  53. $OS = $_SERVER['HTTP_USER_AGENT'];
  54. if (preg_match('/win/ i ',$OS)) {
  55. $OS = 'Windows';
  56. }
  57. elseif (preg_match('/mac/i',$OS)) {
  58. $OS = 'MAC' ;
  59. }
  60. elseif (preg_match('/linux/i',$OS)) {
  61. $OS = 'Linux';
  62. }
  63. elseif (preg_match('/unix/i ' ,$OS)) {
  64. $OS = 'Unix';
  65. }
  66. elseif (preg_match('/bsd/i',$OS)) {
  67. $OS = 'BSD';
  68. }
  69. else {
  70. $OS = 'Other';
  71. }
  72. return $OS;
  73. }
  74. function GetIP() {
  75. if (!empty( $🎜> function GetIP() {
  76. if (!empty( $🎜> function GetIP() {
  77. if (!empty( $🎜> function GetIP() {
  78. if (!empty( $🎜> function GetIP() {
  79. if (!empty( $🎜> function GetIP() {
  80. if (!empty( $🎜> function GetIP() {
  81. if (!empty( $🎜> 錯誤( $🎜 _SERVER['HTTP_CLIENT_IP'])) {
  82. //如果變數是非空或非零的值,則empty()傳回FALSE。
  83. $IP = explode(',',$_SERVER['HTTP_CLIENT_IP']);
  84. }
  85. elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { }
  86. elseif (!empty($_SERVER['REMOTE_ADDR'])) {
  87. $IP = explode(',',$_SERVERVER,',$_SERVERVER ['REMOTE_ADDR']);
  88. }
  89. else {
  90. $IP[0] = 'None';
  91. }
  92. return $IP[0]; } } } private function GetAddIsp() { $IP = $this->GetIP(); $AddIsp = mb_convert_encoding(file_get_contents('http://open.baidu.com/ipsearch/s?tn=ipjson&wd= ' .$IP),'UTF-8','GBK'); //mb_convert_encoding() 轉換字元編碼。
  93. if (preg_match('/noresult/i',$AddIsp)) {
  94. $AddIsp = '無';
  95. }
  96. else {
  97. $Sta = stripos($AddIsp,$ IP) + strlen($IP) + strlen('來自');
  98. $Len = stripos($AddIsp,'"}')-$Sta;
  99. $AddIsp = substr($AddIsp,$Sta, $Len);
  100. }
  101. $AddIsp =explode( ' ',$AddIsp);
  102. return $AddIsp> }
  103. function GetAdd() {
  104. $Add = $this->GetAddIsp ();
  105. return $Add[0] ;
  106. }
  107. function GetIsp() {
  108. $Isp = $this->GetAddIsp();
  109. if ($Isp[0] ! = 'None' && isset($Isp[1) ])) {
  110. $Isp = $Isp[1]
  111. }
  112. else {
  113. $Isp = '無';
  114. }
  115. return $Isp
  116. }
  117. }
  118. ?>
複製程式碼
>>>您可能感興趣的文章:

php新浪介面查詢ip斷層 php騰訊ip分享計畫取得IP斷層 php經由IP取得斷層 PHP透過IP取得斷層的代碼 php取得網站斷層及作業系統資訊的程式碼分享 php透過IP取得斷層的實例參考 php取得用戶真實IP與斷層(淘寶IP介面)的實現代碼 php依IP位址取得目前斷層介面


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn