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.ini中的php-5.2.0配置指令详解
Mar 27 PHP
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
Aug 12 PHP
浅析php中如何在有限的内存中读取大文件
Jul 02 PHP
PHP中常用的转义函数
Feb 28 PHP
安装ImageMagick出现error while loading shared libraries的解决方法
Sep 23 PHP
php浏览历史记录的方法
Mar 10 PHP
利用“多说”制作留言板、评论系统
Jul 14 PHP
php图片添加文字水印实现代码
Mar 15 PHP
php封装的验证码工具类完整实例
Oct 19 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
Jul 27 PHP
PHP操作路由器实现方法示例
Apr 27 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
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
利用php递归实现无限分类 格式化数组的详解
2013/06/08 PHP
php生成excel文件的简单方法
2014/02/08 PHP
php静态文件返回304技巧分享
2015/01/06 PHP
php准确计算复活节日期的方法
2015/04/18 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
微信红包随机生成算法php版
2016/07/21 PHP
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
Exitjs获取DataView中图片文件名
2009/11/26 Javascript
javascript date格式化示例
2013/09/25 Javascript
IE6-8中Date不支持toISOString的修复方法
2014/05/04 Javascript
JavaScript中对循环语句的优化技巧深入探讨
2014/06/06 Javascript
node.js中的url.resolve方法使用说明
2014/12/10 Javascript
JavaScript调试工具汇总
2014/12/23 Javascript
jQuery实现TAB风格的全国省份城市滑动切换效果代码
2015/08/24 Javascript
微信小程序 Image API实例详解
2016/09/30 Javascript
ajax级联菜单实现方法实例分析
2016/11/28 Javascript
折叠菜单及选择器的运用
2017/02/03 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
2017/04/27 Javascript
react-router4 配合webpack require.ensure 实现异步加载的示例
2018/01/18 Javascript
webpack将js打包后的map文件详解
2018/02/22 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
浅析Vue.js中v-bind v-model的使用和区别
2018/12/04 Javascript
jquery实现下载图片功能
2019/07/18 jQuery
js将URL网址转为16进制加密与解密函数
2020/03/04 Javascript
Python实现压缩与解压gzip大文件的方法
2016/09/18 Python
详解常用查找数据结构及算法(Python实现)
2016/12/09 Python
Python读取sqlite数据库文件的方法分析
2017/08/07 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
2019/08/05 Python
Python for循环与getitem的关系详解
2020/01/02 Python
python 项目目录结构设置
2020/02/14 Python
Python切片列表字符串如何实现切换
2020/08/06 Python
Django配置Bootstrap, js实现过程详解
2020/10/13 Python
英国儿童家具专卖店:GLTC
2016/09/24 全球购物
调解员先进事迹材料
2014/02/07 职场文书
团结友爱主题班会
2015/08/13 职场文书