PHP根据IP判断地区名信息的示例代码

PHP根据IP判断地区名信息的示例代码

这篇文章主要介绍了PHP根据IP判断地区名信息的方法,需要的朋友可以参考下

看代码

代码如下:

<?php

header("Content-type: text/html; charset=utf-8");

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;

}

$ip = getIP();

// 利用新浪接口根据ip查询所在区域信息

/* $res0 = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=$ip");

$res0 = json_decode($res0);

print_r($res0);

echo "<br />"; */

// 利用淘宝接口根据ip查询所在区域信息

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

$res1 = json_decode($res1);

/* print_r($res1); */

如何读取数据, 看下面。

代码如下:

$array = get_object_vars($res1);//赋值给数组

foreach($array as $value){

echo $value->region."<br />";

echo $value->city."<br />";

echo $value->ip."<br />";

}

?>

//或者用对象数据访问 echo $res1->data->city;