PHP根據IP判斷地區名信息的示例代碼

原文鏈接:https://www.jb51.net/article/47552.htm
<?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; 
?> 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章