仓酷云

标题: PHP教程之利用MaxMind 依据IP地址对会见者定位 [打印本页]

作者: 若相依    时间: 2015-2-4 00:07
标题: PHP教程之利用MaxMind 依据IP地址对会见者定位
《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()封闭数据库文件。
所做的就是这么复杂。
到现在,对排版还是不很熟练,经常会排不好。
作者: 乐观    时间: 2015-2-4 08:59
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
作者: 莫相离    时间: 2015-2-4 11:26
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
作者: 兰色精灵    时间: 2015-2-6 22:06
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
作者: 深爱那片海    时间: 2015-2-8 21:43
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者: 谁可相欹    时间: 2015-2-26 11:14
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
作者: 活着的死人    时间: 2015-3-8 14:02
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: 再现理想    时间: 2015-3-16 00:12
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
作者: 飘飘悠悠    时间: 2015-3-20 02:53
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
作者: 愤怒的大鸟    时间: 2015-4-1 01:36
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
作者: 小女巫    时间: 2015-4-7 01:15
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
作者: 飘灵儿    时间: 2015-4-30 21:42
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 精灵巫婆    时间: 2015-5-6 20:12
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者: 再见西城    时间: 2015-6-19 17:51
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
作者: 透明    时间: 2015-7-12 07:25
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
作者: 柔情似水    时间: 2015-7-13 06:21
做为1门年轻的语言,php一直很努力。
作者: 仓酷云    时间: 2015-7-13 19:21
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
作者: 只想知道    时间: 2015-7-14 02:35
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
作者: 爱飞    时间: 2015-7-25 01:38
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2