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 常用的header头部定义汇总

header() 函数向客户端发送原始的 HTTP 报头。 认识到一点很重要,即必须在任何实际的输出被发送之前调用 header() 函数(在 PHP 4 以及更高的版本中,您可以使用...

PHP array_shift()用法实例分析

本文实例讲述了PHP array_shift()用法。分享给大家供大家参考,具体如下: array_shift()将数组开头的单元移出数组,并作为结果返回,将数组长度减一并将所有其它单元...

php discuz 主题表和回帖表的设计

php discuz 主题表和回帖表的设计

以下内容仅摘录部分:如果由我们来设计主题表和回帖表,通常的做法是如下。        这样在获取主题列表时,直接使用...

PHP实现的策略模式简单示例

本文实例讲述了PHP实现的策略模式。分享给大家供大家参考,具体如下: 比如说购物车系统,在给商品计算总价的时候,普通会员肯定是商品单价乘以数量,但是对中级会员提供8者折扣,对高级会员提供...

探讨Hessian在PHP中的使用分析

探讨Hessian在PHP中的使用分析

什么是Hessian  Hessian是由caucho提供的一种开源的远程通讯协议。  采用二进制 RPC 协议,基于 HTTP 传输,服务器端不用另开放防火墙端口。  协议的规范是公开...