まず、独自のデータベースを使用して複数の携帯電話番号をクエリする方法について説明します。それでも、独自の携帯電話番号データベースを用意することをお勧めします。通常の状況では、一般的な問い合わせにのみ対応したい場合は、プロ版の携帯電話番号データベースを購入する必要はありませんが、不必要なコストが増加します。 130-139、150-159、180-189で始まる一般的な携帯電話番号セグメントがすべて含まれている17万件以上のデータを含むACCESSデータベースを無料で提供します。 MYSQL またはデータベース ツールを利用した MYSQL。
最新の携帯電話番号データベースのダウンロード アドレス: http://xiazai.jb51.net/201209/yuanma/phone-number-database- jb51.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 関数は、全角の数字を置き換え、不正な可能性のある携帯電話番号を数字に変換するために使用されます。トリムは余分なスペースを削除します。
else return false;
if(strlen($tel) $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(" dd からコード、都市を選択します`dede_tel` where code='$tel' group by code ");
}
else
{
$tel = cn_substr($tel, 7);
$row = $dsql ->GetOne (" num='$tel' の `dede_tel` から num,city を dd として選択します ");
$city = $row['dd'];市)
{
$city = str_replace("県", "-", $city);
$city = str_replace("市", "", $city); = "< br />[".$city."]";
return $city
}
API の実装方法。ここでは独自のデータベースは必要ありませんが、制限があります。
実装には主にcurlを使用します。PHPのcurlのサポートを有効にする必要があります。
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_setopt($ch, CURLOPT_URL, $url); ch, CURLOPT_POST , true);
curl_setopt($ch, CURLOPT_POSTFIELDS, “mobileCode={$number}&userId=”);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $ch) ;
curl_close($ch);
$data = simplexml_load_string($data);
if (strpos($data, 'http://')) {
echo '電話番号形式エラー !';
} else {
echo $data;
}
?>