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 09 PHP
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
May 17 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
Oct 29 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
Nov 25 PHP
CI框架中site_url()和base_url()的区别
Jan 07 PHP
Joomla数据库操作之JFactory::getDBO用法
May 05 PHP
PHP二分查找算法示例【递归与非递归方法】
Sep 29 PHP
php中str_pad()函数用法分析
Mar 28 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
Jul 10 PHP
PHP设计模式之模板方法模式定义与用法详解
Apr 02 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
May 27 PHP
php菜单/评论数据递归分级算法的实现方法
Aug 01 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
一个MYSQL操作类
2006/11/16 PHP
php实现水仙花数示例分享
2014/04/03 PHP
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
2014/11/19 PHP
PHP设计模式之模板方法模式定义与用法详解
2018/04/02 PHP
Git命令之分支详解
2021/03/02 PHP
关于IE中getElementsByClassName不能用的问题解决方法
2013/08/26 Javascript
用原生JS获取CLASS对象(很简单实用)
2014/10/15 Javascript
jQuery判断多个input file 都不能为空的例子
2015/06/23 Javascript
Javascript中replace()小结
2015/09/30 Javascript
EasyUI在表单提交之前进行验证的实例代码
2016/06/24 Javascript
AngularJS基础 ng-open 指令简单实例
2016/08/02 Javascript
jQuery多个版本和其他js库冲突的解决方法
2016/08/11 Javascript
浅谈angularjs module返回对象的坑(推荐)
2016/10/21 Javascript
Angularjs使用过滤器完成排序功能
2017/09/20 Javascript
react-router4 配合webpack require.ensure 实现异步加载的示例
2018/01/18 Javascript
详解如何在Angular优雅编写HTTP请求
2018/12/05 Javascript
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
python实现自动登录人人网并采集信息的方法
2015/06/28 Python
Python使用filetype精确判断文件类型
2017/07/02 Python
python中使用正则表达式的连接符示例代码
2017/10/10 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
Window10+Python3.5安装opencv的教程推荐
2018/04/02 Python
Pytorch入门之mnist分类实例
2018/04/14 Python
python实现Windows电脑定时关机
2018/06/20 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
recorder.js 基于Html5录音功能的实现
2020/05/26 HTML / CSS
美国最大的香水连锁店官网:Perfumania
2016/08/15 全球购物
2014年应急工作总结
2014/12/11 职场文书
2014年精神文明工作总结
2014/12/23 职场文书
教师个人培训总结
2015/02/11 职场文书
项目经理助理岗位职责
2015/04/13 职场文书
垂直极限观后感
2015/06/08 职场文书
如何在python中实现ECDSA你知道吗
2021/11/23 Python
Java tomcat手动配置servlet详解
2021/11/27 Java/Android