PHP手机号归属地查询程序代码
本文章总结了两个常用的手机归属地查询程序,一种是利用api调用第三方接口实现,一种是利用我们自己的手机数据库查询然后再判断手机号归属地查询.
先来看一个调用第三方法网站的一个程序
主要使用curl实现,需要开启php对curl的支持.
如果你是windows系统在你的的php.ini文件的设置,找到php_curl.dll,并取消前面的分号注释就行了,如下所示://取消下在的注释
extension=php_curl.dll
如果您是在Linux下面,那么,您需要重新编译您的PHP了,编辑时,您需要打开编译参数,在configure命令上加上“–with-curl”参数。
然后重启apache
?代码如下 复制代码 手机号码: 实例二这个实例利用了手机数据库,把文件保存在本地然后查找数据库再来差别,但是你得经常更新数据库才行哦。
?代码如下 复制代码 手机号码归属地查询?#main{?height:100%;?}?#left{?float:left;?height:100%;?width:10%;?float:left;?}?#right{?float:left;?height:100%;?width:100$;?} }if($_GET["action"]=="login"){
?>请输入密码:
???手机号码:(至少7位) 详细资料: ??登出返回 ";
}elseif($_GET["action"]=="editp"){?leftnav();?$num=$_POST["num"];?$info=$_POST[''info''];?if(!empty($num)&&!empty($info)&&strlen($num)>=7){?update($num,$info);?}else{?die("不得为空!");?}}elseif("about"==$_GET["action"]){?leftnav();?showabout();?}?>
index.php
手机号码归属地查询请输入你要查询的手机号码: ".$phone."属于".getphone($phone)."";}?}?>
function.php函数
session_start();???functionupdate($num,$info){?$dbpath="xiaolin/";?$len=strlen($num);?if($len<7){?return"手机号码最低7位哦";?}?$par="[0-9]";?for($i=0;$i<$len;$i++){??if(!ereg($par,substr($num,$i,1))){??return"手机号码只能为数字";??}?}?$sunum=scandir($dbpath);//得到支持的手机号码前缀??array_splice($sunum,0,1);//把当前目录取消??array_splice($sunum,0,1);?//把上一级目录去掉?$sub=substr($num,0,3);?//取得该号码的前三位?if(in_array($sub,$sunum)){??$num1=ltrim(substr($num,3,4),"0");??$search=file($dbpath.$sub);??$tmp=$search[$num1];??$search[$num1]=$num1.''=''.$info."n";??$fp1=fopen($dbpath.$sub.''1'',''wb+'');for($i=0;$i<10000;$i++){?//$phone=str_pad($i,4,"0",STR_PAD_LEFT);?//$phoneinfo="";?//$phoneinfo.=$phone."=";?//$phoneinfo=(isset($search[$i]))?$search[$i]:"";?//$phoneinfo.="n";?fwrite($fp1,$search[$i]);}fclose($fp1);?echo"$num已更新";?}else{?die("暂不支持$sub");?}?}functiongetphone($phone){?$dbpath="xiaolin/";?$len=strlen($phone);?if($len<7){?return"手机号码最低7位哦";?}?$par="[0-9]";?for($i=0;$i<$len;$i++){??if(!ereg($par,substr($phone,$i,1))){??return"手机号码只能为数字";??}?}?$sunum=scandir($dbpath);//得到支持的手机号码前缀??array_splice($sunum,0,1);//把当前目录取消??array_splice($sunum,0,1);?//把上一级目录去掉?$sub=substr($phone,0,3);?//取得该号码的前三位?if(in_array($sub,$swww.shanxiwang.netunum)){??$num=ltrim(substr($phone,3,4),"0");??$search=file($dbpath.$sub);??$tmp=$search[$num];??$result=substr($tmp,strpos($tmp,"=")+1,strlen($tmp)-strpos($tmp,"=")-2);//处理数据??return(strlen($result)>1)?$result:"无数据";?}else{?return"暂不支持$sub";?}}
functioncheck(){?if(!isset($_SESSION["flag"])){?die("请登录! ");??}elseif($_SESSION["flag"]!=true){?die("请登录! ");??}}
functiongetinfo(){check();?$nums=array("130","131","132","133","134","135","136","137","138","139","150","151","153","155","156","157","158","159");?$counts="";?for($j=0;$j=count($nums)){die("OVER");}???$nownum=$nums[$id];//当前的号码段??$dbpath="xiaolin/";??$fp=fopen("xiaolin/$nownum",''r'');??while(!feof($fp)){???$line=fgets($fp);???$tmp=explode("=",$line);???$num1[$tmp[0]]=substr($line,strpos($line,"=")+1,strlen($line)-strpos($line,"=")-2);??}??fclose($fp);?$flag=0;??for($i=0;$i<10000;$i++){???$ser=str_pad($i,4,"0",STR_PAD_LEFT);???if(!strlen($num1[$ser])==0){???++$flag;??}?}?$counts+=$flag;?echo"$nownum:段记录$flag";}?echo"总计$counts";}?functionleftnav(){??check();?> |
|