PHP根據IP獲取當前所在地地址

 

 

原理簡述:php

 

利用「ip.taobao.com」提供的一個功能,先獲取json格式字符串,再解碼json字符串json

 

新建文件getaddress.class.phpide

 

<?php函數

Classss GetAddress{spa

  /*本地真實IP函數*/code

    function GetIp() {orm

        $ip_json = @file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=myip");blog

        $ip_arr=json_decode($ip_json,1);//JSON格式字符解碼ip

        if($ip_arr['code']==0){ci

            return $ip_arr['data']['ip'];

        }

    }

 

    /*獲取IP所在地地址函數*/

    function GetIpFrom($ip=''){

        if(empty($ip)){

        $ip = self::GetIp();    

        }

        $ip_json=@file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$ip); 

        $ip_arr=json_decode($ip_json,1);//JSON格式字符解碼

        if($ip_arr['code']==0){   

            $country = $ip_arr['data']['country'];//國家,如中國

            $area = $ip_arr['data']['area'];//地區,如華南

            $region = $ip_arr['data']['region'];//省區,如廣東省

            $city = $ip_arr['data']['city'];//城市,如汕頭市

            $isp = $ip_arr['data']['isp']; //運營商,如電信

            $addr = $country.$area.$region.$city.$isp;

            return $addr;

        }

        else{

            return false;

        }

    } 

}

?>

 

新建演示文件demo.php

 

<?php

    include "getaddress.class.php";//加載類

    $c = new GetAddress;

    echo "當前IP地址爲:";

    echo $c->GetIp();

    echo "<br>";

    echo "IP所在地地址及運營商信息:";

    echo $c->GetIpFrom();

?>

 

訪問demo.php:

 

相關文章
相關標籤/搜索