|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
《PHP+MYSQL WEB开发(第三版)》号称圣经级,(也许是个不错的选择(声明:作者没给我啥好处费,我也不是书托,隔着大老远,我连他老兄的面都没见过的说-_-) 有时你需求晓得你的站点会见者来自哪一个国度――好比假如你正盘算履行针对地舆区域的告白企图。本文将对此办法停止引见。 有时你需求晓得你的站点会见者来自哪一个国度――好比假如你正盘算履行针对地舆区域的告白企图。这恰是象MaxMind's GeoIP一类的东西大显神通的中央――它可让你从会见者的IP地址轻松获得其切实的地舆地位信息。
MaxMind供应了贸易数据库和收费数据库。前者更加准确,精度可以达利用者地点城市信息一级,尔后者则只能肯定国度和区域。在本文中,咱们将演示收费版的利用办法。假如你需求更多具体信息,好比近程客户的城市和国度信息,你需求从MaxMind:http://www.maxmind.com购置更具体的数据库。
起步
要利用此软件,你必需起首下载GeoIP收费国度信息文件:http://www.maxmind.com/app/geoip_country 并将其寄存于Web办事器的某个目次中。然后你需求选择数据库文件所利用的言语API。为简化全部进程,咱们将利用地道的PHP版本以免其他额定的设置装备摆设或设置Apache组件。请记住在装置软件到Web站点前浏览软件允许证条目:http://www.maxmind.com/download/geoip/database/LICENSE.txt以确保你赞同这些条目。
代码列表A
<?php
// include functions
include("geoip.inc");
// read GeoIP database
$handle = geoip_open("GeoIP.dat", GEOIP_STANDARD);
// map IP to country
echo "IP address 62.149.130.132 located in " . geoip_country_name_by_addr($handle, "62.149.130.132") . " (country code " . geoip_country_code_by_addr($handle, "62.149.130.132") . ")";
// close database handler
// www.knowsky.com
geoip_close($handle);
// print compulsory license notice
echo "<p> -- This product includes GeoIP data created by MaxMind, available from http://maxmind.com/ --";
?>
列表A中的代码显示了利用模块(geoip.inc)以会见GeoIP收费国度信息数据库(GeoIP.dat)的根基办法。示例假定PHP include和国度家信息数据库文件都在与PHP文件自己不异的目次中。假如示例与你的装置分歧,则需求依据需求改动途径。
示例代码相当了然,在引入GeoIP PHP函数库后,第一步即便用geoip_open()函数翻开GeoIP数据库文件。此函数吸收两个参数:数据库文件途径和数据库类型。
咱们然后利用由挪用geoip_open()前往的句柄,由此依据所给的IP地址以获得两字母的国度代码及直不雅的国度称号。个中还要分离借助函数geoip_country_code_by_addr()和geoip_country_code_by_name()。两者都吸收两个参数:由geoip_open()前往的句柄和需求解析的IP地址。
一旦取得所需信息,咱们经由过程挪用geoip_close()封闭数据库文件。
所做的就是这么复杂。
到现在,对排版还是不很熟练,经常会排不好。 |
|