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 相关文章推荐
杏林同学录(二)
Oct 09 PHP
php 文件状态缓存带来的问题
Dec 14 PHP
PHP静态调用非静态方法的应用分析
May 02 PHP
在PHP上显示JFreechart画的统计图方法
Nov 03 PHP
ThinkPHP中使用ajax接收json数据的方法
Dec 18 PHP
php简单分页类实现方法
Feb 26 PHP
Yii模型操作之criteria查找数据库的方法
Jul 15 PHP
PHP解压ZIP文件到指定文件夹的方法
Nov 17 PHP
php根据年月获取当月天数及日期数组的方法
Nov 30 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
May 20 PHP
PHP工厂模式、单例模式与注册树模式实例详解
Jun 03 PHP
PHP正则之正向预查与反向预查讲解与实例
Apr 06 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
PHP4 与 MySQL 数据库操作函数详解
2006/10/09 PHP
探讨PHP中this,self,parent的区别详解
2013/06/08 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
2015/03/18 PHP
php递归实现无限分类的方法
2015/07/28 PHP
PHP图像裁剪缩略裁切类源码及使用方法
2016/01/07 PHP
laravel5.2实现区分前后台用户登录的方法
2017/01/11 PHP
Yii2.0 RESTful API 基础配置教程详解
2018/12/26 PHP
用Javascript读取中文COOKIE的解决办法
2007/02/15 Javascript
锋利的jQuery 要点归纳(二) jQuery中的DOM操作(下)
2010/03/23 Javascript
dtree 网页树状菜单及传递对象集合到js内,动态生成节点
2012/04/14 Javascript
JS 实现导航栏悬停效果(续2)
2013/09/24 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
2014/03/28 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
Vue.js实现模拟微信朋友圈开发demo
2017/04/20 Javascript
JS在if中的强制类型转换方式
2018/07/15 Javascript
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
2019/01/29 Javascript
ES6模板字符串和标签模板的应用实例分析
2019/06/25 Javascript
详解将微信小程序接口Promise化并使用async函数
2019/08/05 Javascript
JavaScript监听一个DOM元素大小变化
2020/04/26 Javascript
利用Python如何批量更新服务器文件
2018/07/29 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
python粘包问题及socket套接字编程详解
2019/06/29 Python
pandas 使用均值填充缺失值列的小技巧分享
2019/07/04 Python
详解numpy1.19.4与python3.9版本冲突解决
2020/12/15 Python
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
TUMI新加坡官网:国际领先的商旅箱包品牌
2019/01/12 全球购物
如何启动时不需输入用户名与密码
2014/05/09 面试题
顺丰快递Java软件工程师面试题
2015/07/31 面试题
工程造价专业大专生求职信
2013/10/06 职场文书
司机检讨书
2014/02/13 职场文书
外贸业务员求职信
2014/06/16 职场文书
法人委托书范本
2014/09/15 职场文书
给朋友的赠语
2015/06/23 职场文书
css3实现背景图片半透明内容不透明的方法示例
2021/04/13 HTML / CSS
Python实现聚类K-means算法详解
2022/07/15 Python