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

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

  1. <?php
  2. header("Content-type: text/html; charset=utf-8");
  3. function getIP(){
  4. if (isset($_SERVER)) {
  5. if (isset($_SERVER[HTTP_X_FORWARDED_FOR])) {
  6. $realip = $_SERVER[HTTP_X_FORWARDED_FOR];
  7. } elseif (isset($_SERVER[HTTP_CLIENT_IP])) {
  8. $realip = $_SERVER[HTTP_CLIENT_IP];
  9. } else {
  10. $realip = $_SERVER[REMOTE_ADDR];
  11. }
  12. } else {
  13. if (getenv("HTTP_X_FORWARDED_FOR")) {
  14. $realip = getenv( "HTTP_X_FORWARDED_FOR");
  15. } elseif (getenv("HTTP_CLIENT_IP")) {
  16. $realip = getenv("HTTP_CLIENT_IP");
  17. } else {
  18. $realip = getenv("REMOTE_ADDR");
  19. }
  20. }
  21. return $realip;
  22. }
  23. $ip = getIP();
  24. // 利用新浪接口根据ip查询所在区域信息
  25. /* $res0 = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=$ip");
  26. $res0 = json_decode($res0);
  27. print_r($res0);
  28. echo "<br />"; */
  29. //phpfensi.com
  30. // 利用淘宝接口根据ip查询所在区域信息
  31. $res1 = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=$ip");
  32. $res1 = json_decode($res1);
  33. /* print_r($res1); */

如何读取数据, 看下面,代码如下:

  1. $array = get_object_vars($res1);//赋值给数组
  2. foreach($array as $value){
  3. echo $value->region."<br />";
  4. echo $value->city."<br />";
  5. echo $value->ip."<br />";
  6. }

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