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读取IMAP邮件
Oct 09 PHP
配置支持SSI
Nov 25 PHP
php 在线打包_支持子目录
Jun 28 PHP
一个简洁的PHP可逆加密函数(分享)
Jun 06 PHP
php跨服务器访问方法小结
May 12 PHP
php采集神器cURL使用方法详解
Feb 19 PHP
php实现文章置顶功能的方法
Oct 20 PHP
php获取当前月与上个月月初及月末时间戳的方法
Dec 05 PHP
分析php://output和php://stdout的区别
May 06 PHP
深入研究PHP中的preg_replace和代码执行
Aug 15 PHP
Thinkphp 框架扩展之类库扩展操作详解
Apr 23 PHP
php连接mysql之mysql_connect()与mysqli_connect()的区别
Jul 19 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&amp;&amp;mysql)二
2006/10/09 PHP
php快速url重写 更新版[需php 5.30以上]
2010/04/20 PHP
thinkPHP的Html模板标签使用方法
2012/11/13 PHP
php恢复数组的key为数字序列的方法
2015/04/28 PHP
详解JavaScript中的forEach()方法的使用
2015/06/08 Javascript
javascript实现动态标签云
2015/10/16 Javascript
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
2016/08/05 Javascript
AngularGauge 属性解析详解
2016/09/06 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
2017/04/27 Javascript
详解vue跨组件通信的几种方法
2017/06/15 Javascript
详解微信小程序 登录获取unionid
2017/06/27 Javascript
WebStorm ES6 语法支持设置&amp;babel使用及自动编译(详解)
2017/09/08 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
解决select2在bootstrap modal中不能正常使用的问题
2018/08/09 Javascript
BootStrap table实现表格行拖拽效果
2018/12/01 Javascript
解决vue单页面应用中动态修改title问题
2019/06/09 Javascript
JS+canvas五子棋人机对战实现步骤详解
2020/06/04 Javascript
原生JavaScript写出Tabs标签页的实例代码
2020/07/20 Javascript
Python数据可视化正态分布简单分析及实现代码
2017/12/04 Python
python中对_init_的理解及实例解析
2019/10/11 Python
python将音频进行变速的操作方法
2020/04/08 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
印度民族服装购物网站:BIBA
2019/08/05 全球购物
Sport-Thieme荷兰:购买体育用品
2019/08/25 全球购物
锐步英国官网:Reebok英国
2019/11/29 全球购物
瑞典耳机品牌:URBANISTA
2019/12/03 全球购物
便利店投资创业计划书
2014/02/08 职场文书
房地产项目建议书
2014/03/12 职场文书
殡葬服务心得体会
2014/09/11 职场文书
2014年个人师德工作总结
2014/12/04 职场文书
高考升学宴答谢词
2015/01/20 职场文书
思想道德自我评价2015
2015/03/09 职场文书
高一军训感想
2015/08/07 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书
Mysql 设置boolean类型的操作
2021/06/04 MySQL
Go语言基础map用法及示例详解
2021/11/17 Golang