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 相关文章推荐
NT IIS下用ODBC连接数据库
Oct 09 PHP
php操作sqlserver关于时间日期读取的小小见解
Nov 29 PHP
paypal即时到账php实现代码
Nov 28 PHP
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
Jun 30 PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
Jul 03 PHP
php数组转换js数组操作及json_encode的用法详解
Oct 26 PHP
php配置php-fpm启动参数及配置详解
Nov 04 PHP
分享PHP守护进程类
Dec 30 PHP
CI(Codeigniter)的Setting增强配置类实例
Jan 06 PHP
Yii2框架制作RESTful风格的API快速入门教程
Nov 08 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
Nov 07 PHP
Laravel5.1 框架响应基本用法实例分析
Jan 04 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
Ping服务的php实现方法,让网站快速被收录
2012/02/04 PHP
zend optimizer在wamp的基础上安装图文教程
2013/10/26 PHP
yii2 页面底部加载css和js的技巧
2016/04/21 PHP
php中分页及SqlHelper类用法实例
2017/01/12 PHP
让插入到 innerHTML 中的 script 跑起来的实现代码
2006/07/01 Javascript
一个可以显示阴历的JS代码
2007/03/05 Javascript
AeroWindow 基于JQuery的弹出窗口插件
2011/06/27 Javascript
javaScript 动态访问JSon元素示例代码
2013/08/30 Javascript
深入理解JSON数据源格式
2014/01/10 Javascript
javascript中拼接HTML字符串的最快、最好的方法
2014/06/07 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
js实现鼠标拖动功能
2017/03/20 Javascript
ES6学习教程之对象字面量详解
2017/10/09 Javascript
小程序ios音频播放没声音问题的解决
2018/07/11 Javascript
js比较两个单独的数组或对象是否相等的实例代码
2019/04/28 Javascript
js+html实现周岁年龄计算器
2019/06/25 Javascript
AngularJS动态生成select下拉框的方法实例
2019/11/17 Javascript
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
2020/11/24 Javascript
Python中time模块与datetime模块在使用中的不同之处
2015/11/24 Python
使用python的pandas库读取csv文件保存至mysql数据库
2018/08/20 Python
linux安装python修改默认python版本方法
2019/03/31 Python
Python列表对象实现原理详解
2019/07/01 Python
Python连接Hadoop数据中遇到的各种坑(汇总)
2020/04/14 Python
Python自动巡检H3C交换机实现过程解析
2020/08/14 Python
python绘制趋势图的示例
2020/09/17 Python
HTML5拖拉上传文件的简单实例
2017/01/11 HTML / CSS
简述数组与指针的区别
2014/01/02 面试题
甲方资料员岗位职责
2013/12/13 职场文书
迟到检讨书5000字
2014/01/31 职场文书
20年同学聚会邀请函
2014/02/04 职场文书
竞聘上岗演讲稿
2014/05/16 职场文书
2014旅游局党组书记党建工作汇报材料
2014/11/02 职场文书
食品药品安全责任书
2015/05/11 职场文书
MySQL命令行操作时的编码问题详解
2021/04/14 MySQL
尝试使用Python爬取城市租房信息
2022/04/12 Python
分析SQL窗口函数之取值窗口函数
2022/04/21 Oracle