-
- // クライアントの IP、地理情報、ブラウザを取得する関数
- class get_gust_info {
- ////訪問者のブラウザの種類を取得する
- function GetBrowser(){
- if(!empty( $ _SERVER['HTTP_USER_AGENT'])){
- $br = $_SERVER['HTTP_USER_AGENT'];
- if (preg_match('/MSIE/i',$br)) {
- $br = 'MSIE';
- }elseif ( preg_match('/Firefox/i',$br)) {
- $br = 'Firefox';
- }elseif (preg_match('/Chrome/i',$br)) {
- $br = 'Chrome';
- } elseif (preg_match('/Safari/i',$br)) {
- $br = 'Safari';
- }elseif (preg_match('/Opera/i',$br)) {
- $br = 'Opera' ;
- }else {
- $br = 'その他';
- }
- return $br;
- }else{return "ブラウザ情報の取得に失敗しました!";}
- }
-
- ////訪問者のブラウザ言語を取得する
- 関数 GetLang (){
- if(!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
- $lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
- $lang = substr($lang,0,5);
- if(preg_match( "/zh-cn/i",$lang)){
- $lang = "簡体字中国語";
- }elseif(preg_match("/zh/i",$lang)){
- $lang = "繁体字中国語";
- }else{
- $lang = "English";
- }
- return $lang;
-
- }else{return "ブラウザ言語の取得に失敗しました。 ";}
- }
-
- ////ゲスト オペレーティング システムを取得します
- 関数 GetOs(){
- if(!empty($_SERVER['HTTP_USER_AGENT'])){
- $OS = $_SERVER['HTTP_USER_AGENT'];
- if (preg_match('/win/i',$OS)) {
- $OS = 'Windows';
- }elseif (preg_match('/mac/i',$OS)) {
- $OS = 'MAC' ;
- }elseif (preg_match('/linux/i',$OS)) {
- $OS = 'Linux';
- }elseif (preg_match('/unix/i',$OS)) {
- $OS = ' Unix ';
- }elseif (preg_match('/bsd/i',$OS)) {
- $OS = 'BSD';
- }else {
- $OS = 'Other';
- }
- return $OS } else {return "ゲスト オペレーティング システム情報の取得に失敗しました。 ";}
- }
-
- ////訪問者の実際の IP を取得します
- function Getip(){
- if(!empty($_SERVER["HTTP_CLIENT_IP"])){
- $ip = $_SERVER["HTTP_CLIENT_IP"];
- }
- if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ //プロキシIPを取得
- $ips =explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
- }
- if($ip) {
- $ips = array_unshift($ips,$ip);
- }
-
- $count = count($ips);
- for($i=0;$i<$count;$i++){
- if(!preg_match ( "/^(10|172.16|192.168)./i",$ips[$i])){//LAN ip を除外します
- $ip = $ips[$i];
- Break;
- }
- }
- $ tip = empty($_SERVER['REMOTE_ADDR']) ? $ip : $_SERVER['REMOTE_ADDR']
- if($tip=="127.0.0.1"){ //ローカルの実際の IP を取得します
- return $this- > get_onlineip();
- }else{
- return $tip; }
- }
- ////ローカルの実際の IP を取得します
- 関数 get_onlineip() {
- $mip = file_get_contents("http://city.ip138 .com/ city0.asp");
- if($mip){
- preg_match("/[.*]/",$mip,$sip);
- $p = array("/[/","/] /") ;
- return preg_replace($p,"",$sip[0]);
- }else{return "ローカル IP の取得に失敗しました! ";}
- }
-
- ////ip
- 関数に基づいて訪問者の場所名を取得します Getaddress($ip=''){
- if(empty($ip)){
- $ip = $this->Getip () ;
- }
- $ipadd = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=".$ip);//Sina API インターフェースに従って
- を取得しますif($ipadd ){
- $charset = iconv("gbk","utf-8",$ipadd);
- preg_match_all("/[x{4e00}-x{9fa5}]+/u",$charset, $ipadds);
-
- return $ipadds; // 2 次元配列を返します
- }else{return "アドレスがありません";}
- }
- }
- $gifo = new get_gust_info();
- echo "あなたの IP:" .$gifo- >Getip();
- echo "
Location:"; - $ipadds = $gifo->Getaddress();
- foreach($ipadds[0] as $value){
- echo "rn " .iconv("utf-8","gbk",$value);
- }
-
- echo "
ブラウザの種類:".$gifo->GetBrowser();
- echo "
ブラウザ言語: ".$gifo->GetLang();
- echo "
オペレーティング システム: ".$gifo->GetOs();
- ?>
-
-
- コードをコピー
>>>> あなたが興味を持ちそうな記事:
ユーザーの実際のIPアドレスのphpコードを取得します
phpで外部ネットワークの実際のIPを取得する2つの方法
正確なクライアント IP アドレスを取得するための php コード
phpでクライアントの実IPを取得する方法の紹介
PHP は IP 経由で位置情報コードを取得します
Webサイトの場所とオペレーティングシステム情報を取得するためのPHPのコード共有
IPを介して地理的位置を取得するためのPHPのリファレンス例
ユーザーの実際のIPと地理的位置を取得するためのphp実装コード(淘宝網IPインターフェース)
phpはIPアドレスに基づいて現在の地理的位置インターフェースを取得します
|