php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法。分享给大家供大家参考。具体如下:

调用方法非常简单。这个也需要数据库来支持。数据库中中文和拼音共存才可以。

废话不多说,看代码:

<?php  
function getIpInfo($ip,$timeout=15) {  
  if(!function_exists('curl_init') or !function_exists('simplexml_load_string')) return false;  
  $ch = curl_init("http://ipinfodb.com/ip_query2.php?ip={$ip}&timezone=true");  
  $options = array(  
      CURLOPT_RETURNTRANSFER => true,  
    );  
  curl_setopt_array($ch,$options);  
  $res = curl_exec($ch);  
  curl_close($ch);  
  
  if($xml = simplexml_load_string($res)) {  
    $return = array();  
    foreach ($xml->Location->children() as $key=>$item) {  
      $return[$key] = strtolower($item);  
    }  
    return $return;  
  } else {  
    return false;  
  }  
}  
$current_Ip_Info = getIpInfo('119.7.8.255');  
var_dump($current_Ip_Info); 

希望本文所述对大家的php程序设计有所帮助。

相关文章

php array_unique之后json_encode需要注意

例如:array_unique(array(1, 1, 2)); 他的结果是 array(2) { [0]=> int(1) [2]=> int(2) } 这就不是numer...

浅谈php优化需要注意的地方

我们在编写程序时,总是想要使自己的程序占用资源最小,运行速度更快,代码量更少。往往我们在追求这些的同时却失去了很多东西。下面我想讲讲我对PHP优化的理解。优化的目的是花最少的代价换来最快...

Laravel向公共模板赋值方法总结

开发过程中许多时候都会向公共模板赋值,比如顶部导航栏,页面底部等等,不可能在每个控制器中都赋值一遍。 Laravel 中解决办法如下: 修改 App\Providers\AppServi...

php中数组首字符过滤功能代码

复制代码 代码如下: <?php $array = array( 'abcd', 'abcde', 'bcde', 'cdef', 'defg', 'defgh' ); $str...

8个PHP数组面试题

网上找的PHP数组题,准备自己做一遍并且记录下来。 1.写函数创建长度为10的数组,数组中的元素为递增的奇数,首项为1. 复制代码 代码如下: <?php  &n...