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中通过ADO调用Asscess数据库和COM程序
Oct 09 PHP
phpExcel中文帮助手册之常用功能指南
Aug 18 PHP
ThinkPHP中使用ajax接收json数据的方法
Dec 18 PHP
PHP可变函数学习小结
Nov 29 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
Dec 22 PHP
ThinkPHP使用Smarty第三方插件方法小结
Mar 19 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
php判断文件上传图片格式的实例详解
Sep 30 PHP
php实现socket推送技术的示例
Dec 20 PHP
PHP设计模式之模板方法模式实例浅析
Dec 20 PHP
PHP simplexml_import_dom()函数讲解
Feb 03 PHP
php7 新增功能实例总结
May 25 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
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
js 与或运算符 || &amp;&amp; 妙用
2009/12/09 Javascript
javascript各浏览器中option元素的表现差异
2011/04/07 Javascript
JS this作用域以及GET传输值过长的问题解决方法
2013/08/06 Javascript
js sort 二维数组排序的用法小结
2014/01/24 Javascript
js识别不同浏览器基于userAgent做判断
2014/07/29 Javascript
3种Jquery限制文本框只能输入数字字母的方法
2014/12/03 Javascript
javascript基于DOM实现权限选择实例分析
2015/05/14 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
javascript设计模式--策略模式之输入验证
2015/11/27 Javascript
学习JavaScript事件流和事件处理程序
2016/01/25 Javascript
jQuery绑定事件on()与弹窗的简要概述
2016/04/27 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
JavaScript实现表单注册、表单验证、运算符功能
2018/10/15 Javascript
gulp构建小程序的方法步骤
2019/05/31 Javascript
如何从头实现一个node.js的koa框架
2019/06/17 Javascript
vue+iview实现分页及查询功能
2020/11/17 Vue.js
[47:53]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#2COL VS Spirit
2016/03/02 DOTA
用Python实现一个简单的能够上传下载的HTTP服务器
2015/05/05 Python
python之文件的读写和文件目录以及文件夹的操作实现代码
2016/08/28 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
2017/06/21 Python
利用Python如何制作好玩的GIF动图详解
2018/07/11 Python
python numpy数组的索引和切片的操作方法
2018/10/20 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
用vue.js组件模拟v-model指令实例方法
2019/07/05 Python
Python数据库小程序源代码
2019/09/15 Python
解决Pycharm 导入其他文件夹源码的2种方法
2020/02/12 Python
HTML里显示pdf、word、xls、ppt的方法示例
2020/04/14 HTML / CSS
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
荷兰在线啤酒店:Beerwulf
2019/08/26 全球购物
幼儿园春游活动方案
2014/01/19 职场文书
环保倡议书50字
2014/05/15 职场文书
小学爱国卫生月活动总结
2014/06/30 职场文书
乱世佳人观后感
2015/06/08 职场文书
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle
如何在pycharm中快捷安装pip命令(如pygame)
2021/05/31 Python