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

yipeiwu_com5年前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三种实现多线程类似的方法

1、curl_multi方法 当需要多线程的时候,可以用curl_multi一次性请求多个操作来完成,但curl走的是网络通信,效率与可靠性就比较差了的。 function main...

url decode problem 解决方法

试验了一下python的urllib库以及js 的 encodeURIComponent 均不会替换。空格encode也是替换成了 '%20' 。python提供了urllib.quot...

PHP+redis实现微博的推模型案例分析

本文实例讲述了PHP+redis实现微博的推模型。分享给大家供大家参考,具体如下:最近在看了一下关于redis的内容,然后利用redis写了一个简单的微博项目,这篇文章是关于推模型的。推模型所谓推模型...

解析CodeIgniter自定义配置文件

我们有时候在CI框架中需要自定义配置文件,那要怎么处理呢?下面就给你介绍处理的办法。配置文件config/expert.php复制代码 代码如下:<?php  if (...

PHP 5.5 创建和验证哈希最简单的方法详解

我们首先讨论password_hash()函数。这将用作创建一个新的密码的哈希值。它包含三个参数:密码、哈希算法、选项。前两项为必须的。你可以根据下面的例子来使用这个函数:复制代码 代码...