>  기사  >  백엔드 개발  >  php 根据数据库ip段显示ip归属地

php 根据数据库ip段显示ip归属地

WBOY
WBOY원래의
2016-06-13 12:26:061014검색

php 依据数据库ip段显示ip归属地
我现在有一个数据库ipatt 三个字段 ip_start(起始IP)   ip_end(结束IP)   ip_att(IP归属地)
现在有$user_ip 
我要实现ip在某个ip_start   ip_end区间时 显示ip_att

假如表中包含这两条
0.0.0.0         0.255.255.255                  A
12.0.64.0    12.194.255.255                B
我希望实现
 0.11.12.12               显示A
 12.193.65.200        显示B

求教如何比较IP
我现在要写个 function get_ip_att($user_ip )
------解决思路----------------------
MySQL 提供有 INET_ATON 函数,用于将字符串型的 ip 转换为无符号数
php 也提供有 ip2long 函数完成此工作

$ip = ip2long('12.193.65.200');
$sql = "select * from ipatt where $ip between inet_aton(ip_start) and inet_aton(ip_end)";

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.