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 str_pad() 将字符串填充成指定长度的字符串
Feb 23 PHP
有关PHP中MVC的开发经验分享
May 17 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
Jun 14 PHP
PHP error_log()将错误信息写入一个文件(定义和用法)
Oct 25 PHP
php弹出对话框实现重定向代码
Jan 23 PHP
Linux系统下PHP-FPM的安装和配置教程
Aug 17 PHP
php图片添加水印例子
Jul 20 PHP
PHP控制前台弹出对话框的实现方法
Aug 21 PHP
POST一个JSON格式的数据给Restful服务实例详解
Apr 07 PHP
解决laravel 5.1报错:No supported encrypter found的办法
Jun 07 PHP
php post json参数的传递和接收处理方法
May 31 PHP
PHP中类与对象功能、用法实例解读
Mar 27 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
PHP缓存技术的多种方法小结
2012/08/14 PHP
5种PHP创建数组的实例代码分享
2014/01/17 PHP
PHP数据库操作二:memcache用法分析
2017/08/16 PHP
在laravel-admin中列表中禁止某行编辑、删除的方法
2019/10/03 PHP
extJs 下拉框联动实现代码
2010/04/09 Javascript
jQuery Autocomplete自动完成插件
2010/07/17 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
js HTML5 Ajax实现文件上传进度条功能
2016/02/13 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
详解JavaScript中|单竖杠运算符的使用方法
2016/05/23 Javascript
jQuery获取多种input值的简单实现方法
2016/06/20 Javascript
使用JS轻松实现ionic调用键盘搜索功能(超实用)
2016/09/06 Javascript
js实现文字选中分享功能
2017/01/25 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
2017/10/24 Javascript
javascript 设计模式之组合模式原理与应用详解
2020/04/08 Javascript
浅谈JavaScript节流和防抖函数
2020/08/25 Javascript
vue项目打包后请求地址错误/打包后跨域操作
2020/11/04 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
JS实现纸牌发牌动画
2021/01/19 Javascript
node使用async_hooks模块进行请求追踪
2021/01/28 Javascript
[56:00]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第一局
2016/03/05 DOTA
python 创建弹出式菜单的实现代码
2017/07/11 Python
Python+OpenCV目标跟踪实现基本的运动检测
2018/07/10 Python
从0开始的Python学习016异常
2019/04/08 Python
python代码xml转txt实例
2020/03/10 Python
使用Python下载抖音各大V视频的思路详解
2021/02/06 Python
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
升职自荐信范文
2013/10/05 职场文书
医学院四年学习生活的自我评价
2013/11/06 职场文书
建筑结构施工求职信
2014/07/11 职场文书
2014优秀党员事迹材料
2014/08/14 职场文书
民事诉讼代理授权委托书
2014/10/11 职场文书
欠款纠纷起诉状
2015/05/19 职场文书
幽默导游词应该怎么写?
2019/08/26 职场文书