ホームページ  >  記事  >  バックエンド開発  >  クライアント情報を取得するPHPクラス

クライアント情報を取得するPHPクラス

WBOY
WBOYオリジナル
2016-07-25 08:56:07989ブラウズ
  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 = '簡体字中国語'; }
  21. elseif (preg_match('/zh/i',$Lang)) {
  22. $Lang = '繁体字中国語'; }
  23. else {
  24. $Lang = '英語' }
  25. return $
  26. }
  27. 関数 GetBrowser() {
  28. $Browser = $_SERVER['HTTP_USER_AGENT']
  29. if (preg_match('/MSIE/i',$Browser)) {
  30. $Browser = 'MSIE'; elseif (preg_match('/Firefox/i',$Browser)) {
  31. $Browser = 'Firefox' }
  32. elseif (preg_match('/Chrome/i',$Browser)) {
  33. $Browser = ' Chrome' ;
  34. }
  35. elseif (preg_match('/Safari/i',$Browser)) {
  36. $Browser = 'Safari'
  37. }
  38. elseif (preg_match('/Opera/i',$Browser) {
  39. $Browser = 'オペラ'; }
  40. else {
  41. $Browser = 'その他';
  42. return $Browser; }
  43. $OS = $_SERVER['HTTP_USER_AGENT']
  44. if ( '/win/i',$OS)) {
  45. $OS = 'Windows' }
  46. elseif (preg_match('/mac/i',$OS)) {
  47. $OS = 'MAC'; elseif (preg_match('/linux/i',$OS)) {
  48. $OS = 'Linux' }
  49. elseif (preg_match('/unix/i',$OS)) {
  50. $OS = 'Unix'; ;
  51. }
  52. elseif (preg_match('/bsd/i',$OS)) {
  53. $OS = 'BSD';
  54. else {
  55. $OS = 'その他' }
  56. $OS を返す
  57. function GetIP() {
  58. if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
  59. //変数が空でない値またはゼロ以外の値の場合、empty() は FALSE を返します。
  60. $IP =explode(',',$_SERVER['HTTP_CLIENT_IP']);
  61. }
  62. elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  63. $IP =explode(',',$_SERVER[ 'HTTP_X_FORWARDED_FOR']);
  64. }
  65. elseif (!empty($_SERVER['REMOTE_ADDR'])) {
  66. $IP =explode(',',$_SERVER['REMOTE_ADDR']); IP[0] = 'なし'; }
  67. $IP[0]; を返す }
  68. $IP = $this->GetIP();
  69. $AddIsp = mb_convert_encoding(' http://open.baidu.com/ipsearch/s?tn=ipjson&wd='.$IP),'UTF-8','GBK');
  70. //mb_convert_encoding() 文字エンコーディングを変換します。
  71. if (preg_match('/noresult/i',$AddIsp)) {
  72. $AddIsp = 'None'
  73. }
  74. else {
  75. $Sta =tripos($AddIsp,$IP) + strlen($IP) + strlen ('from');
  76. $Len = ストリップス($AddIsp,'"}')-$Sta;
  77. $AddIsp = substr($AddIsp,$Sta,$Len);
  78. }
  79. $AddIsp =explode(' ' ,$AddIsp);
  80. $AddIsp; }
  81. 関数 GetAdd() {
  82. $Add = $this->GetAddIsp();
  83. 関数 GetIsp(); = $this->GetAddIsp();
  84. if ($Isp[0] != 'None' && isset($Isp[1])) {
  85. $Isp = $Isp[1] }
  86. else {
  87. $Isp = 'なし' }
  88. return $Isp
  89. }
  90. ?>
  91. コードをコピーします
  92. ; >>>興味があるかもしれない記事:
  93. IPの地理的位置をクエリするためのPHP Sinaインターフェース
php Tencent IP 共有プランによる IP 地理的位置の取得 phpはIPによって地理的位置を取得します

PHP は IP 経由で位置情報コードを取得します Webサイトの場所とオペレーティングシステム情報を取得するためのPHPのコード共有 IPを介して地理的位置を取得するためのPHPのリファレンス例 ユーザーの実際のIPと地理的位置を取得するためのphp実装コード(淘宝網IPインターフェース) phpはIPアドレスに基づいて現在の地理的位置インターフェースを取得します

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。