[问题] 关于用ip判断该使用者的国家的问题...

楼主: banana2014 (香蕉共和国)   2015-05-06 16:56:53
最近我想使用ip来判断客户端来自哪个国家,
于是上网找了一下,
虽然有找到http://api.hostip.info/country.php?ip=xxx.xxx.xxx.xxx这个网页来查询
不过万一这个网站出了问题就没用了
于是找了另外一个方法
就是用ip-to-country.csv这个对应表来找客户端ip所对应的值是介于哪个范围之间
但是这又衍生出另外一个问题出来,那就是:“档案太大了”
一个ip-to-country.csv档往往都超过5 MB以上,要php读取该档案并找寻其ip所介定的范
围在哪里实在是太困难了,因此要找到该ip所在的范围为何要怎么做才能快又准确? 如何
在一个档案中找寻第一次出现该字首处? 以上是我的问题,若能帮我解决敬请多多指教,
谢谢各位!
ip-to-country.csv(dbip-country.csv)位址:
http://download.db-ip.com/free/dbip-country-2015-05.csv.gz
作者: twsphere (人歪吃草~~)   2015-05-06 16:59:00
php GeoIP
楼主: banana2014 (香蕉共和国)   2015-05-06 17:16:00
但是geoip有点不准耶…
作者: y2468101216 (芸)   2015-05-06 17:25:00
你可以把CSV塞在数据库里
楼主: banana2014 (香蕉共和国)   2015-05-06 18:02:00
塞近database里不会有读取的档案太大或速度太慢等问题吗?
作者: wannawanna (艾维斯)   2015-05-06 18:55:00
你读档案才会有这种问题 DB就是为了解决这种问题而生
作者: red0whale (red whale)   2015-05-06 19:06:00
用数据库汇入吧...
作者: garypayton5 (热情仲夏)   2015-05-06 19:50:00
5MB小菜一叠而已
楼主: banana2014 (香蕉共和国)   2015-05-06 20:27:00
“小菜一碟”是…?
作者: tper8042 (tper8042)   2015-05-06 20:56:00
5MB对数据库来说不算什么
作者: poiuy999 (Nines)   2015-05-06 21:58:00
目标是什么 转语系 用浏览器的语系分就好了
作者: mmis1000 (秋月恋枫)   2015-05-06 23:50:00
数据库就是为了应付大量资料用的阿,5MB根本不痛不痒
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-05-07 06:36:00
挺幽默的。
作者: rockmanalpha (KIN)   2015-05-07 09:50:00
数据库就是用来存大量资料的 你索引做得好 效能还会更好 你搜寻的时候是用KEY下去找 不存在 full tablescan的问题 速度不会慢

Links booklink

Contact Us: admin [ a t ] ucptt.com