该项目主要实现的功能为:根据IP地址找到所对应的地理位置信息,纯真数据库下载链接
项目包含有三个PHP类文件,主要分别实现下面的功能:
IpLocationSeekerBinary 使用PHP代码从纯真IP地址库二进制文件中获取地理位置信息 IpLocationSeekerBinaryExtension 使用qqwry扩展从纯真IP地址库二进制文件中获取地理位置信息 IpLocationSeekerSqlite 使用PHP代码从sqlite地址库中获取地理位置信息使用方法很简单:
$sqlite_filepath = "/path/to/qqwry/sqlite/db/file/qqwry.sqlite.3";
$seeker = new IpLocationSeekerSqlite($sqlite_filepath);
$seeker->seek("222.73.254.90");
除了单纯的IP地理位置信息查找功能,还实现了:
纯真地址到中国省份的转换功能,如把“南开大学”这样的地址转变成为“天津”这样的省份,以方便进行统计报表工作 纯真二进制文件到sqlite数据库的转换功能使用以下代码把下载到的纯真数据库二进制文件转换成sqlite:
$sqlite_filepath = "/path/to/qqwry/sqlite/db/file/qqwry.sqlite.3";
$qqwry_filepath = "/path/to/qqwry/binary/qqwry.dat";
$seeker = new IpLocationSeekerBinary($qqwry_filepath);
$seeker->saveAsSqlite($sqlite_filepath, 3, true);
文件 test/performance_test.php 对所实现的三种IP地理位置查询方法进行了性能测试,测试结果如下:
[binary] times:10000 2.53s used
[binary-e] times:100000 4.29s used
[sqlite] times:100000 5.40s used
使用sqlite跟使用c扩展在查询性能上是比较接近的,都大幅领先于使用PHP实现的二分查找方法。
该项目被用于:五指cms系统 http://www.wuzhicms.com
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。
3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考学习用!
4、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。