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中的string类型使用说明
Jul 27 PHP
解析使用substr截取UTF-8中文字符串出现乱码的问题
Jun 20 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
Jun 26 PHP
PHP从FLV文件获取视频预览图的方法
Mar 12 PHP
PHP中curl_setopt函数用法实例分析
Apr 16 PHP
[原创]php常用字符串输出方法分析(echo,print,printf及sprintf)
Jul 09 PHP
关于php 高并发解决的一点思路
Apr 16 PHP
php上传excel表格并获取数据
Apr 27 PHP
ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单实现方法
Jun 09 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
Apr 26 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
Jan 23 PHP
实例化php类时传参的方法分析
Jun 05 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
ThinkPHP采用实现三级循环代码实例
2014/07/18 PHP
ThinkPHP提交表单时默认自动转义的解决方法
2014/11/25 PHP
PHP实现一维数组与二维数组去重功能示例
2018/05/24 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
2020/05/14 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
ext form 表单提交数据的方法小结
2008/08/08 Javascript
jQuery EasyUI中对表格进行编辑的实现代码
2010/06/10 Javascript
JQuery在页面中添加和除移DOM示例代码
2013/06/24 Javascript
利用cookie记住背景颜色示例代码
2013/11/04 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
2015/09/11 Javascript
jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
2016/12/24 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
原生js实现倒计时功能(多种格式调用)
2017/01/12 Javascript
Vue项目组件化工程开发实践方案
2018/01/09 Javascript
js中的闭包学习心得
2018/02/06 Javascript
vue2.0 elementUI制作面包屑导航栏
2018/02/22 Javascript
vue项目如何刷新当前页面的方法
2018/05/18 Javascript
Nodejs实现爬虫抓取数据实例解析
2018/07/05 NodeJs
jQuery实现的老虎机跑动效果示例
2018/12/29 jQuery
解决vue+elementui项目打包后样式变化问题
2020/08/03 Javascript
vue中选中多个选项并且改变选中的样式的实例代码
2020/09/16 Javascript
详解Python中的__init__和__new__
2014/03/12 Python
将TensorFlow的模型网络导出为单个文件的方法
2018/04/23 Python
python 日期操作类代码
2018/05/05 Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
2018/07/19 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
2019/01/17 Python
Python完成哈夫曼树编码过程及原理详解
2019/07/29 Python
详解anaconda离线安装pytorchGPU版
2020/09/08 Python
卡拉威高尔夫官方网站:Callaway Golf
2020/09/16 全球购物
光声世纪笔试题目
2012/08/25 面试题
保安岗位职责
2014/02/21 职场文书
保险经纪人求职信
2014/03/11 职场文书
医学专业毕业生求职信
2014/06/20 职场文书
2014高三学生考试作弊检讨书
2014/12/14 职场文书
MySQL创建管理子分区
2022/04/13 MySQL
python自动获取微信公众号最新文章的实现代码
2022/07/15 Python