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 />"; */
- //phpfensi.com
- // 利用淘宝接口根据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;