Heim > Backend-Entwicklung > PHP-Tutorial > php根据IP地址获取地理位置

php根据IP地址获取地理位置

WBOY
Freigeben: 2016-06-23 13:18:06
Original
1597 Leute haben es durchsucht

    <?php    header("Content-type: text/html; charset=utf-8");     //获取IP地址的方法    function getIP(){        if (isset($_SERVER)) {            if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {                $realip = $_SERVER['HTTP_X_FORWARDED_FOR'];            } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {                $realip = $_SERVER['HTTP_CLIENT_IP'];            } else {                $realip = $_SERVER['REMOTE_ADDR'];            }        } else {            if (getenv("HTTP_X_FORWARDED_FOR")) {                $realip = getenv( "HTTP_X_FORWARDED_FOR");            } elseif (getenv("HTTP_CLIENT_IP")) {                $realip = getenv("HTTP_CLIENT_IP");            } else {                $realip = getenv("REMOTE_ADDR");            }        }        return $realip;    }        echo $ip = getIP();//通过php的file_get_contents()方法获取地理位置//新浪接口根据ip查询所在区域信息$res0 = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=$ip");$res0 = json_decode($res0,true);print_r($res0);echo "<br/>";//淘宝接口根据ip查询所在区域信息$res1 = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=$ip");$res1 = json_decode($res1,true);print_r($res1);echo "<br/>";//通过php的curl获取地理位置//新浪根据IP获取地理位置API    $url = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=$ip';     $ch = curl_init($url);     curl_setopt($ch,CURLOPT_ENCODING ,'utf8');     curl_setopt($ch, CURLOPT_TIMEOUT, 10);     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回     $location = curl_exec($ch);     $location = json_decode($location);     print_r($location);    curl_close($ch);          $loc = "";     if($location===FALSE) return "";     if (empty($location->desc)) {         $loc = $location->province.$location->city.$location->district.$location->isp;     }else{         $loc = $location->desc;     }     echo  $loc; //腾讯根据IP获取地理位置API    $url = 'http://ip.qq.com/cgi-bin/searchip?searchip1=$ip';     $ch = curl_init($url);     curl_setopt($ch,CURLOPT_ENCODING ,'gb2312');     curl_setopt($ch, CURLOPT_TIMEOUT, 10);     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回     $result = curl_exec($ch);     $result = mb_convert_encoding($result, "utf-8", "gb2312"); // 编码转换,否则乱码     curl_close($ch);     preg_match("@<span>(.*)</span></p>@iU",$result,$ipArray);     $loc = $ipArray[1];     echo $loc; 
Nach dem Login kopieren

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage