Home  >  Article  >  Backend Development  >  PHP mobile phone number location query code (API interface/mysql)_PHP tutorial

PHP mobile phone number location query code (API interface/mysql)_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 16:56:261094browse

This article will introduce the implementation method of mobile phone number ownership. We can use the API interface and mysql+php to give examples to students in need.

First we introduce using your own database to query multiple mobile phone numbers. It is still recommended that you have your own mobile phone number database. Under normal circumstances, if you only want to satisfy general inquiries, you do not need to purchase the professional version of the mobile phone number database, which will increase unnecessary costs. I provide you with an ACCESS database for free, which contains more than 170,000 pieces of data. The commonly used mobile phone number segments starting with 130-139, 150-159 and 180-189 are all in it. You can easily convert it into MYSQL or MYSQL with the help of database tools. Other version databases

The latest mobile phone number database download address: http://www.bKjia.c0m/down/phone-number-database.rar

PHP+MYSQL mobile phone number ownership query implementation method
Through the above introduction, we already have our own MYSQL data table. The structure of this table is very simple: ID (serial number), code (area code), num (mobile phone number segment), cardtype (mobile phone card type), city (mobile phone number location). Note that this table stores a large amount of data. Appropriate index fields should be established based on your SQL query statement to improve query efficiency.
1) To obtain the location of the mobile phone number, we only need to determine the location of the mobile phone number segment. It is mainly implemented through the following functions, among which GetAlabNum, cn_substr, and str_replace are all string operation functions, and $dsql is a database operation class.

The code is as follows Copy code
function GetTelphone($tel)
 代码如下 复制代码
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 `dede_tel` where code='$tel' group by code ");
 }
 else
 {
  $tel = cn_substr($tel, 7);
  $row = $dsql->GetOne(" Select num,city as dd from `dede_tel` where num='$tel' ");
 }
 $city = $row['dd'];
 if($city)
 {
  $city = str_replace("省", "-", $city);
  $city = str_replace("市", "", $city);
  $city = "
[".$city."]";
  return $city;
 }
}
{ global $city,$dsql; if(isset($tel)) $tel = GetAlabNum(trim($tel));//The GetAlabNum function is used to replace full-width numbers and convert possible illegal mobile phone numbers into numbers; trim removes excess spaces. else return false; if(strlen($tel) < 7) return false;<🎜> $tel = cn_substr($tel, 11);//Intercept 11 characters first to prevent multiple mobile phone numbers<🎜> //if(!is_numeric($tel)) return false;<🎜> if(cn_substr($tel, 1) == "0")//Determine whether the mobile phone number starts with 0. In this case, the landline number may start with 0<🎜> {<🎜> if(cn_substr($tel, 2) == "01" || cn_substr($tel, 2) == "02") $tel = cn_substr($tel, 3);//3-digit area code<🎜> else $tel = cn_substr($tel, 4);<🎜> $row = $dsql->GetOne(" Select code,city as dd from `dede_tel` where code='$tel' group by code "); } else { $tel = cn_substr($tel, 7); $row = $dsql->GetOne(" Select num,city as dd from `dede_tel` where num='$tel' "); } $city = $row['dd']; if($city) { $city = str_replace("province", "-", $city); $city = str_replace("city", "", $city); $city = "
[".$city."]"; Return $city; } }

API implementation method, you don’t need your own database here but there are limitations
Mainly implemented using curl, you need to enable PHP's support for curl.

if (isset($_GET['number'])) {
The code is as follows
 代码如下 复制代码
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;
}
}
?>

手机号码:
Copy code

header(“Content-Type:text/html;charset=utf-8″);
$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_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 ‘Mobile phone number format error!’; } else { echo $data; } }
?>
Mobile phone number:
Querying the mobile phone number ownership with php mysql will be much slower, after all, the data must be obtained through a third method. http://www.bkjia.com/PHPjc/631604.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/631604.htmlTechArticleThe article introduces the implementation method of mobile phone number attribution. We can use the api interface and mysql+php to provide examples. Students who need it can take a look. First, we introduce using your own database to search...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn