PHP手机号码归属地查询代码(API接口/mysql)

 

首先我们介绍使用自己的数据库查询多个手机号码,那还是建议你拥有一个自己的的手机号码数据库。正常情况下,只是满足一般查询的话,你不需要去购买专业版的手机号码数据库,增加无谓成本。我免费为你提供一个ACCESS数据库,包含17万多条数据,常用的130-139、150-159以及180-189开头手机号码段都在其中,你可以借助数据库工具轻松地将它转换成MYSQL或其它版本数据库

最新手机号码数据库下载地址:http://www.111cn.net/down/phone-number-database.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手机号码归属地查询这个会慢很多,毕竟要通过第三方法数据。

时间: 2024-08-02 03:12:47

PHP手机号码归属地查询代码(API接口/mysql)的相关文章

Android使用http请求手机号码归属地查询代码分享_Android

归属地数据源 http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx webxml网站还支持其他请求方式 如SOAP等等 界面比较简单 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" an

Android使用http请求手机号码归属地查询代码分享

归属地数据源 http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx webxml网站还支持其他请求方式 如SOAP等等 界面比较简单 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" an

asp.net手机号码归属地查询代码(1/2)

create table t_phone ( id int identity(1,1) not null primary key, startno varchar(11) not null, endno varchar(11) not null, cityname nvarchar(50) not null ) 用户查询 sqlconnection con = new sqlconnection(system.configuration.configurationmanager.connecti

使用C#开发基于Winform的手机号码归属地查询工具

一.需求描述 输入正确的手机号码,查询该号码的归属地和其他相关信息. 二.需求分析 1.实现手机号码归属地查询的方法 01.本地数据库存储信息,查询本地库 02.调用WebService查询 03.通过Http请求Get方式从服务器上获取数据 2.方式分析: 01.采用本地数据库存储,可以断网查询,无需付费,但信息量较大占用本地资源 02.调用WebService必须连接网络,不占用本地资源,但公开的WebService大多数需要付费. 03.通过Http请求Get方式从服务器上获取数据的方式必

我的Android进阶之旅------&amp;gt;Android通过调用Webservice实现手机号码归属地查询

此app的实现功能如图所示:   注:http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx是本文webservice的提供商 具体的用法见:http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?op=getMobileCodeInfo   以下是 SOAP 1.2 请求和响应示例.所显示的占位符需替换为实际值.   POST /WebServices/Mob

手机号码归属地查询

<!-- 这是一款免费的手机号码归属地查询程序是php教程写的,包括查询实例与实例代码--> <html> <head> <title>手机号码归属地查询</title> </head> <body> <form action="index.php?action=search" method="POST"> <p>请输入你要查询的手机号码:<input

Android中手机号码归属地查询实现

 这部分是昨天学习的,但是因为眼睛超负荷所以拖到现在,以后要合理规划时间. 目前手机里面的号码归属地查询主要是通过两种方式:1.联网查询,2.匹配本机归属地数据库. 我认为两种结合方式最好,在本地数据库中匹配不到的在进行联网查询,能大大增加匹配效果,并且不用过于增加本地数据库容量而增大安装包大小. 步骤:1.开启软件的时候把数据库从assets目录拷贝到files目录下,如果已存在,则不用重新拷贝. 2.实现界面. 3.实现工具类PhoneAddressUtils的getPhoneAddress

ip归属地查询代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

Android平台HttpClient的使用-手机号码归属地查询

Android平台主要提供了四种数据存储方式:Shared Preferences.文件存储.Sqlite存储和网络存储.其 中: 1)Shared Preferences 一个轻量级的键-值存储机制,专门用于存储键-值对数据,并且仅可以存储基本 的数据类型(boolean.int.long.float和String):通常使用它来存储应用程序的配置信息. 2)文件存储 通过FileInputStream和FileOutputStream对文件进行操作,在Android中,文件是一个应用 程序私