您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何實現(xiàn)PHP手機號碼歸屬地查詢代碼-API接口/mysql”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何實現(xiàn)PHP手機號碼歸屬地查詢代碼-API接口/mysql”吧!
首先我們介紹使用自己的數(shù)據(jù)庫查詢多個手機號碼,那還是建議你擁有一個自己的的手機號碼數(shù)據(jù)庫。正常情況下,只是滿足一般查詢的話,你不需要去購買專業(yè)版的手機號碼數(shù)據(jù)庫,增加無謂成本。我免費為你提供一個ACCESS數(shù)據(jù)庫,包含17萬多條數(shù)據(jù),常用的130-139、150-159以及180-189開頭手機號碼段都在其中,你可以借助數(shù)據(jù)庫工具輕松地將它轉(zhuǎn)換成MYSQL或其它版本數(shù)據(jù)庫
PHP+MYSQL手機號碼歸屬地查詢實現(xiàn)方法
通過上面的介紹,我們已經(jīng)有了自己的MYSQL數(shù)據(jù)表。這個表結(jié)構(gòu)很簡單:ID(序號),code(區(qū)號),num(手機號碼段),cardtype(手機卡類型),city(手機號碼歸屬地)。注意,這個表存儲數(shù)據(jù)量很大,應(yīng)當(dāng)根據(jù)你的sql查詢語句,建立合適的索引字段,以提高查詢效率。
1)獲取手機號碼歸屬地,我們只需要通過判斷手機號碼段歸屬地即可。主要通過以下函數(shù)實現(xiàn),其中GetAlabNum、cn_substr、str_replace都是字符串操作函數(shù),$dsql是數(shù)據(jù)庫操作類。
復(fù)制代碼 代碼如下:
function GetTelphone($tel)
{
global $city,$dsql;
if(isset($tel)) $tel = GetAlabNum(trim($tel));//GetAlabNum函數(shù)用于替換全角數(shù)字,將可能存在的非法手機號碼轉(zhuǎn)換為數(shù)字;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位區(qū)號
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實現(xiàn)方法,這里不需要自己的數(shù)據(jù)庫但有限制了
主要使用curl實現(xiàn),需要開啟php對curl的支持。
復(fù)制代碼 代碼如下:
<?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手機號碼歸屬地查詢這個會慢很多,畢竟要通過第三方法數(shù)據(jù)
感謝各位的閱讀,以上就是“如何實現(xiàn)PHP手機號碼歸屬地查詢代碼-API接口/mysql”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何實現(xiàn)PHP手機號碼歸屬地查詢代碼-API接口/mysql這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。