使用GeoIP和PHP构建一个简单的MySQL地理数据库
时间:2007-02-17 来源:PHP爱好者
MaxMind的GeoIP是一个非常有用的工具,用来识别你Web网站访问者的所在国家。但是一旦拥有了这一地理信息,你又应该来处理它呢?这种数据的一个常见应用就是针对地理位置发布的广告。
使用GeoIP的数据
基本的步骤相当简单——你读取访问者的远程IP地址,(使用GeoIP映射数据库)将这个地址映射成为一个国家代码,然后利用这个国家代码来显示针对该国设计的广告条。列表A是一段显示了这些步骤的PHP示例脚本。
这段脚本假设你有一个MySQL数据库,其中包含有广告条的列表,并根据国家代码进行索引。一旦通过专门的$REMOTE_ADDR变量取得了客户的IP,这个IP就可以被映射成为国家代码。然后我们就利用这个国家代码从广告条列表里随机选择一个针对该国的广告条。
这里要特别注意SQL查询——它首先会取回与国家代码相匹配的所有记录(广告条),而国家需要由geoip_country_code_by_addr()方法返回,然后从各个广告条中随机选择一个。(被选中)广告条的对应文件名就会被动态地插到HTML页面里。如果你愿意的话,你可以通过这个唯一的广告条ID进一步把广告条与点击跟踪脚本结合在一起,从而统计出你的广告系统是否成功有效。
地理数据的其他用处
有针对性的广告宣传是地理数据库最常见的一个应用。然而,你还可以使用这一信息针对(不同的)用户精确地提供其他类型的内容:天气预报、证券信息、新闻头条等等。
你也可以通过其他方式来使用这一数据,例如,把用户重新引导到用他们本地语言编写的内容,根据用户所处位置来限制/赋予他们访问权限,或者自动地调整购物车的显示,以便使用当地的货币。我会把这项技术创新应用的发现权留给你。
php爱好者站 http://www.phpfans.net 网页制作|网站建设|数据采集.