根据纯真最新数据库生成(2011年7月)
生成431个ip文件,每个文件1000条数据
一个总文件存放地址工作原理是,先在总表判别IP地址在那个文件,一共有400多行,应该很快
然后再包含进来再判别
然后逐行对比大小<?php
header("Content-type: text/html; charset=utf-8");
$ip=$_GET['ip'];
$ajax=$_GET['ajax']?true:false;
$uip=sprintf("%u", ip2long($ip));
function show($str,$ajax=false)
{
  if($ajax==true)
  {
     echo json_encode($str);
  }else{
     echo $str['ip'];
  }
  exit;
}
if(!is_numeric($uip)) show(array("ip"=>'IP error 0!','msg'=>false),$ajax);//先根据大的IP把目录分出来
$lines=include_once("bigip.php");
$ippath='';
foreach($lines as $line)
{
   if($uip<=$line)
   {
 $ippath=$line;
 break;
   }
}
if(!is_numeric($ippath)) show(array("ip"=>'IP error 1!','msg'=>false),$ajax);
//取得目录所含有的IP文件
$lines=include_once("ipdata/".$ippath.".php");
$ipfile='';
foreach($lines as $line=>$addr)
{
   if($uip<=$line)
   {
     show(array("ip"=>mb_convert_encoding($addr,"utf-8","gb2312"),'msg'=>true),$ajax);
 break;
   }
}
?>下载地址
http://code.google.com/p/queryphp/downloads/list大家也可看看我框架,欢迎提出建议