PHP手机号码归属地查询代码(API接口/mysql)


Posted in PHP onSeptember 04, 2012

首先我们介绍使用自己的数据库查询多个手机号码,那还是建议你拥有一个自己的的手机号码数据库。正常情况下,只是满足一般查询的话,你不需要去购买专业版的手机号码数据库,增加无谓成本。我免费为你提供一个ACCESS数据库,包含17万多条数据,常用的130-139、150-159以及180-189开头手机号码段都在其中,你可以借助数据库工具轻松地将它转换成MYSQL或其它版本数据库

最新手机号码数据库下载地址:http://xiazai.3water.com/201209/yuanma/phone-number-database-3water.rar

PHP+MYSQL手机号码归属地查询实现方法

通过上面的介绍,我们已经有了自己的MYSQL数据表。这个表结构很简单:ID(序号),code(区号),num(手机号码段),cardtype(手机卡类型),city(手机号码归属地)。注意,这个表存储数据量很大,应当根据你的sql查询语句,建立合适的索引字段,以提高查询效率。

1)获取手机号码归属地,我们只需要通过判断手机号码段归属地即可。主要通过以下函数实现,其中GetAlabNum、cn_substr、str_replace都是字符串操作函数,$dsql是数据库操作类。

function GetTelphone($tel) 
{ 
global $city,$dsql; 
if(isset($tel)) $tel = GetAlabNum(trim($tel));//GetAlabNum函数用于替换全角数字,将可能存在的非法手机号码转换为数字;trim去除多余空格。 
else return false; 
if(strlen($tel) < 7) return false; 
$tel = cn_substr($tel, 11);//先截取11个字符,防止是多个手机号码 
//if(!is_numeric($tel)) return false; 
if(cn_substr($tel, 1) == "0")//判断手机号码是否以0开头,这种情况可能会是座机号以0开头 
{ 
if(cn_substr($tel, 2) == "01" || cn_substr($tel, 2) == "02") $tel = cn_substr($tel, 3);//3位区号 
else $tel = cn_substr($tel, 4); 
$row = $dsql->GetOne(" Select code,city as dd from `#@__tel` where code='$tel' group by code "); 
} 
else 
{ 
$tel = cn_substr($tel, 7); 
$row = $dsql->GetOne(" Select num,city as dd from `#@__tel` where num='$tel' "); 
} 
$city = $row['dd']; 
if($city) 
{ 
$city = str_replace("省", "-", $city); 
$city = str_replace("市", "", $city); 
$city = "<br /><font color="green">[".$city."]</font>"; 
return $city; 
} 
}

api实现方法,这里不需要自己的数据库但有限制了
主要使用curl实现,需要开启php对curl的支持。
<?php 
header(“Content-Type:text/html;charset=utf-8″); 
if (isset($_GET['number'])) { 
$url = ‘http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo'; 
$number = $_GET['number']; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, “mobileCode={$number}&userId=”); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$data = curl_exec($ch); 
curl_close($ch); 
$data = simplexml_load_string($data); 
if (strpos($data, ‘http://')) { 
echo ‘手机号码格式错误!'; 
} else { 
echo $data; 
} 
} 
?> 
<form action=”mobile.php” method=”get”> 
手机号码: <input type=”text” name=”number” /> <input type=”submit” value=”提交” /> 
</form>

与php mysql手机号码归属地查询这个会慢很多,毕竟要通过第三方法数据。
PHP 相关文章推荐
PHP 身份验证方面的函数
Oct 11 PHP
使用session判断用户登录用户权限(超简单)
Jun 08 PHP
php解析json数据实例
Aug 19 PHP
php版本的cron定时任务执行器使用实例
Aug 19 PHP
php的dl函数用法实例
Nov 06 PHP
php从完整文件路径中分离文件目录和文件名的方法
Mar 13 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
Mar 26 PHP
Laravel 5框架学习之Eloquent (laravel 的ORM)
Apr 08 PHP
微信公众平台之快递查询功能用法实例
Apr 14 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
Nov 27 PHP
yii分页组件用法实例分析
Dec 28 PHP
php 防止表单重复提交两种实现方法
Nov 03 PHP
PHP获取用户的浏览器与操作系统信息的代码
Sep 04 #PHP
PHP中根据IP地址判断城市实现城市切换或跳转代码
Sep 04 #PHP
PHP中“简单工厂模式”实例代码讲解
Sep 04 #PHP
通过php快速统计某个数据库中每张表的数据量
Sep 04 #PHP
比较discuz和ecshop的截取字符串函数php版
Sep 03 #PHP
Windows下部署Apache+PHP+MySQL运行环境实战
Aug 31 #PHP
关于UEditor编辑器远程图片上传失败的解决办法
Aug 31 #PHP
You might like
《雄兵连》系列首部大电影《烈阳天道》:可能是因为期望值太高了
2020/08/18 国漫
我的论坛源代码(二)
2006/10/09 PHP
php MySQL与分页效率
2008/06/04 PHP
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
2013/07/03 PHP
php简单实现多字节字符串翻转的方法
2015/03/31 PHP
提高Laravel应用性能方法详解
2019/06/24 PHP
JavaScript 动态生成方法的例子
2009/07/22 Javascript
JavaScript 序列化对象实现代码
2009/12/18 Javascript
原生js写的放大镜效果
2012/08/22 Javascript
jquery获取当前点击对象的value方法
2014/02/28 Javascript
调试代码导致IE出错的避免方法
2014/04/04 Javascript
jquery实现点击页面计算点击次数
2015/01/23 Javascript
javascript结合Flexbox简单实现滑动拼图游戏
2016/02/18 Javascript
JS模拟简易滚动条效果代码(附demo源码)
2016/04/05 Javascript
JS组件Bootstrap dropdown组件扩展hover事件
2016/04/17 Javascript
关于function类中定义变量this的简单说明
2016/05/28 Javascript
自定义vue全局组件use使用、vuex的使用详解
2017/06/14 Javascript
Vue组件模板形式实现对象数组数据循环为树形结构(实例代码)
2017/07/31 Javascript
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
2017/11/27 Javascript
深入浅析vue组件间事件传递
2017/12/29 Javascript
浅谈Vue网络请求之interceptors实际应用
2018/02/28 Javascript
vue实现2048小游戏功能思路详解
2018/05/09 Javascript
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
2018/07/31 NodeJs
微信小程序调用微信支付接口的实现方法
2019/04/29 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
Vue实现点击当前行变色
2020/12/14 Vue.js
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
详解Python发送email的三种方式
2018/10/18 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
python 解决flask 图片在线浏览或者直接下载的问题
2020/01/09 Python
python scatter函数用法实例详解
2020/02/11 Python
详解tensorflow之过拟合问题实战
2020/11/01 Python
自动化专业个人求职信范文
2013/11/29 职场文书
语文课外活动总结
2014/08/27 职场文书
初三英语教学计划
2015/01/23 职场文书