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面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
Sep 30 PHP
PHP教程 基本语法
Oct 23 PHP
PHP 时间日期操作实战
Aug 26 PHP
php缩放gif和png图透明背景变成黑色的解决方法
Oct 14 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
Dec 16 PHP
php文件上传简单实现方法
Jan 24 PHP
PHP安全上传图片的方法
Mar 21 PHP
ThinkPHP模型详解
Jul 27 PHP
Symfony2在Nginx下的配置方法图文教程
Feb 04 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
Nov 10 PHP
php命令行写shell实例详解
Jul 19 PHP
PHP strripos函数用法总结
Feb 11 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
DOTA2 无惧惊涛骇浪 昆卡大型水友攻略
2020/04/20 DOTA
PHP+Tidy-完美的XHTML纠错+过滤
2007/04/10 PHP
php数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
2013/06/20 PHP
PHP简单判断字符串是否包含另一个字符串的方法
2016/03/25 PHP
PHP中__autoload和Smarty冲突的简单解决方法
2016/04/08 PHP
PHP实现的一致性Hash算法详解【分布式算法】
2018/03/31 PHP
extjs 为某个事件设置拦截器
2010/01/15 Javascript
基于jQuery的固定表格头部的代码(IE6,7,8测试通过)
2010/05/18 Javascript
jQuery对象[0]是什么含义?
2010/07/31 Javascript
Jquery从头学起第四讲 jquery入门教程
2010/08/01 Javascript
客户端js性能优化小技巧整理
2013/11/05 Javascript
JS中的异常处理方法分享
2013/12/22 Javascript
jQuery圆形统计图开发实例
2015/01/04 Javascript
jQuery实现非常实用漂亮的select下拉菜单选择效果
2015/11/06 Javascript
js密码强度检测
2016/01/07 Javascript
javascript 中的事件委托详解
2016/10/25 Javascript
BootStrap框架中的data-[ ]自定义属性理解(推荐)
2017/02/14 Javascript
Javascript 编码约定(编码规范)
2018/03/11 Javascript
微信小程序页面传多个参数跳转页面的实现方法
2019/05/17 Javascript
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
2019/08/08 jQuery
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
Vue向后台传数组数据,springboot接收vue传的数组数据实例
2020/11/12 Javascript
[01:10:27]DOTA2-DPC中国联赛正赛 SAG vs XG BO3 第二场 3月5日
2021/03/11 DOTA
Python内置函数OCT详解
2016/11/09 Python
Python入门_浅谈数据结构的4种基本类型
2017/05/16 Python
python微信跳一跳游戏辅助代码解析
2018/01/29 Python
python实现贪吃蛇游戏
2020/03/21 Python
python实现密码强度校验
2020/03/18 Python
keras load model时出现Missing Layer错误的解决方式
2020/06/11 Python
django表单中的按钮获取数据的实例分析
2020/07/31 Python
HTML里显示pdf、word、xls、ppt的方法示例
2020/04/14 HTML / CSS
联想新加坡官方网站:Lenovo Singapore
2017/10/24 全球购物
物流仓管员工作职责
2014/01/06 职场文书
工作说明书范文
2014/05/07 职场文书
Vue+Flask实现图片传输功能
2022/04/01 Vue.js