到网上下载个最新的ip地址数据表,看看里面的记录就明白怎么用了http://www.baidu.com/baidu?ie=gb2312&bs=%D6%D0%B9%FAip%B5%D8%D6%B7%B7%D6%C5%E4%B1%ED&sr=&z=&w=%D6%D0%B9%FAip%B5%D8%D6%B7%B7%D6%C5%E4%B1%ED+%CF%C2%D4%D8&ct=0&cl=3&f=8
调试欢乐多
发现它们都是一一对应的,即一个IP对应一个ip2long值
怎么使用啊?你有IP表吗?
首先要先弄个最新IP表
然后整理
得到用户IP后
先用ip2long转换
然后再到数据库查找想对应记录
别忘了between
按行读取地址文本。
然后分割出row[0]=第一个地址 row[1]=第二个地址。....................
if(row[0]<=现在的ip&&现在的ip>=row[1])
{
echo row[2].row[3];
}
<?
$sip=$REMOTE_ADDR;
$str=explode(".",$sip);
$tatol=sizeof($str);$num=$str[0]*256*256*256+$str[1]*256*256+$str[2]*256+$str[3]-1;
echo $num;//将IP转换数字//取得区域
//数据库连接略
$sqlstr="select * from ipaddress where ip1 <='$num' and ip2 >='$num'";
$result=mysql_query($sqlstr,$conn);
$row=mysql_fetch_array($result);
//echo $row[country].$row[city];
$comefrom=$row[country].$row[city];
?>IP表下载,
http://www.eafu.net/ipaddress.mdb
自己导入到mysql中吧
我用这个IP库做了网站流量分析统计,演示地址
http://www.eafu.net/statistic/
BS楼主
自己偷懒无能
还说php没用把ip转为long存在数据库里
然后把输入的ip也用ip2long转换成整数后
比较一下大小就可以了