Heim > php教程 > php手册 > Hauptteil

PHP查询ip所在地的几种方法

WBOY
Freigeben: 2016-05-25 16:44:59
Original
1867 Leute haben es durchsucht

根据IP地址查找我们的IP地址所在地,这个最简单办法就是直接把ip在百度搜索就可以知道你的IP地址所在地了,但对于一些网站我们不能使用此方法,但可以通过api来实现.

例子,利用第三方接口实例,代码如下:

<form action="" method="post"> 
 <p>请输入ip地址:<input type="text" name="ip" /></p> 
 <p><input type="submit" value="查询"  /></p> 
</form> 
<?php
//获取ip地址
//$ip = $_SERVER[&#39;REMOTE_ADDR&#39;];    //自动获取客户端的IP
//ip对应的地区
if (!emptyempty($_POST[&#39;ip&#39;])) {
    $ip = $_POST[&#39;ip&#39;];
    //接口地址,这样返回的是一个xml结果集,
    $str = file_get_contents("http://www.yodao.com/smartresult-xml/search.s?type=ip&q=" . $ip);
    //这里要得到里面的地址信息,提取xml方法有很多,我用的是正则。
    preg_match_all("/<location>(.*?)</location>/", $str, $addr1);
    //最终结果,如图2;
    $addr = $ip . "=>" . $addr1[1][0];
    echo $addr;
}
?>
Nach dem Login kopieren

例子,利用QQWry,目前只支持PHP5版本.

安装:

1.sudo pecl install qqwry-beta或者直接下载编译,phpize && ./configure && make && sudo make install

2.编辑php.ini,加入extension=qqwry.so

3.重启http server

使用很简单,首先就是实例化,传入纯真数据库的文件路径,然後调用q方法,该方法返回一个数组,第一个值为地址1,例如南宁市,第二个值为地址2,例如邕 宁区电信ADSL,看到子吧,一目了然。,下面的iconv是把数据从GB2312转到UTF-8,如果你的站点是用GB2312,那么这一步是不需要的,代码如下:

<?php
$qqwry = new qqwry(&#39;QQWry.Dat&#39;);
list($addr1, $addr2) = $qqwry->q(&#39;127.0.0.1&#39;);
$addr1 = iconv(&#39;GB2312&#39;, &#39;UTF-8&#39;, $addr1);
$addr2 = iconv(&#39;GB2312&#39;, &#39;UTF-8&#39;, $addr2);
echo $addr1, &#39;|&#39;, $addr2, " ";
$arr = $qqwry->q(&#39;222.216.47.4&#39;);
$arr[0] = iconv(&#39;GB2312&#39;, &#39;UTF-8&#39;, $arr[0]);
$arr[1] = iconv(&#39;GB2312&#39;, &#39;UTF-8&#39;, $arr[1]);
echo $arr[0], &#39;|&#39;, $arr[1], " ";
$arr = $qqwry->q(&#39;64.233.187.99&#39;);
$arr[0] = iconv(&#39;GB2312&#39;, &#39;UTF-8&#39;, $arr[0]);
$arr[1] = iconv(&#39;GB2312&#39;, &#39;UTF-8&#39;, $arr[1]);
echo $arr[0], &#39;|&#39;, $arr[1], " ";
//输出:
//本机地址|
//广西南宁市|(青秀区)电信ADSL
//美国|加利福尼亚州Google公司
?>
Nach dem Login kopieren

例子,如果你只要查查IP地址就不需相面那么复杂了,如我在百度输入 110.110.110.110

显示地址为,IP地址:110.110.110.110黑龙江省哈尔滨市 铁通


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!