ホームページ  >  記事  >  バックエンド開発  >  PHP 携帯電話番号位置照会プログラム コード_PHP チュートリアル

PHP 携帯電話番号位置照会プログラム コード_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:11:321894ブラウズ

この記事では、一般的に使用される 2 つの携帯電話の位置クエリ プログラムを要約します。1 つは、API を使用してサードパーティのインターフェイスを呼び出して実装するもので、もう 1 つは、独自の携帯電話データベースを使用してクエリを実行し、携帯電話番号の位置クエリを決定するものです。

まず呼び出しを見てみましょう 3 番目のメソッド Web サイトのプログラム

は主にcurlを使用して実装しており、PHPのcurlのサポートを有効にする必要があります。

Windowsシステムの場合は、php.iniの設定でファイルを見つけて、php_curl.dll を見つけ、前のポイントをキャンセルします。 以下に示すように、番号をコメントするだけです:
//次のコメントを解除します

extension=php_curl.dll

Linux を使用している場合は、PHP を再コンパイルする必要があります。編集する場合は、[パラメータのコンパイル] を開き、configure コマンドに「-with-curl」パラメータを追加する必要があります。

その後、Apacheを再起動

コードは以下の通りです コードをコピー

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;
}
}
?>


携帯電話番号:

实例二
这个实例利用了手机数据库,把文件保存在本地然后查找数据库再来差别,但是你得经常更新数据库才行哦。

 代码如下 复制代码



手机号码归属地查询



require ('function.php');
$pwd="xiaolin"; //密码,请修改
if (!isset($_GET["action"]) ){
header("Location:manage.php?action=login");

}
if ($_GET["action"]=="login"){

?>


请输入密码:




 
}elseif ($_GET["action"]=="loginin"){
$repwd=$_POST["pwd"];
if ($repwd != $pwd){
echo "Sorry,密码错误~!";
}else {
$_SESSION["flag"]=true;
leftnav();
}

}elseif ($_GET["action"]== "info" ){
leftnav();
getinfo();
?>

  
}elseif ($_GET["action"]=="edit"){
leftnav();
?>

手机号番号:(少なくとも7位)


详细资料:



 


}elseif ($_GET["action"]== "ログインアウト"){
if (isset($_SESSION["flag"])){
unset($_SESSION["flag"] );
session_destroy();
}
echo "

登出

戻り< ;/a>

";


}elseif ($_GET["action"]=="editp"){
leftnav();
$num=$_POST["num"];
$ info=$_POST['info'];
if (!empty($num) && !empty($info) && strlen($num)>=7 ){
update($num,$info);
} else{
die ("不得空!");
}
}elseif ("about"==$_GET["action"]){
leftnav();
showabout();
}
?>

index.php



手机号番号归属地查询

< ;body>


请输入你要查询的携帯番号番号:




if (isset($_GET["action"])){
if ("search"==$_GET["action"] ){
require ('function.php');
$phone= (isset($_POST["phone"]))?$_POST["phone"]:die ("请返");
echo "你查询的手机号番号".$phone." に属しています".getphone($phone)."";
}
}
?>

function.php関数数

session_start();

function update($num,$info){
$dbpath="xiaolin/";
$len=strlen($num);
if ( $len < 7 ){
return "モバイル電話番号の下 7 桁は ";
}
$par="[0-9]";
for ($i=0;$i<$len;$i++){
if(!ereg($ par,substr( $num,$i,1) ){
return "携帯電話番号は数字のみです";
}
}
$sunum=scandir($dbpath) //サポートされている携帯電話番号のプレフィックス
array_splice ($sunum, 0,1); //現在のディレクトリをキャンセルします
array_splice($sunum,0,1) //上位のディレクトリを削除します
$sub=substr($num,0,3);数値 最初の 3 桁
if (in_array($sub,$sunum) ){
$num1=ltrim(substr($num,3,4),"0");
$search=file($dbpath.$ sub);
$tmp=$search[$num1];
$search[$num1]=$num1.'='.$info."n";
$fp1=fopen($dbpath.$sub.'1 ',' wb+');
for ($i=0;$i<10000;$i++){
//$phone=str_pad($i,4,"0",STR_PAD_LEFT);
//$phoneinfo= "";
//$phoneinfo.=$phone."=";
//$phoneinfo=(isset($search[$i]))?$search[$i]:"";
//$phoneinfo .= n";
fwrite($fp1,$search[$i]);
}
fclose($fp1);
echo "$num が更新されました";
}else{
die ("$sub はまだサポートされていません") ;
}
}
function getphone($phone){
$dbpath="xiaolin/";
$len=strlen($phone);
if ( $len < 7 ){
return "携帯電話番号の下7桁 Oh";
}
$par="[0-9]";
for ($i=0;$i<$len;$i++){
if(!ereg( $par,substr($phone,$ i,1) ) ){
return "携帯電話番号は数字のみです";
}
}
$sunum=scandir($dbpath) //サポートされている携帯電話番号プレフィックス
array_splice($sunum,0,1) ; //現在のディレクトリをキャンセルします
array_splice($sunum,0,1) //前のディレクトリを削除します
$sub=substr($phone,0,3);番号の最初の 3 桁
if (in_array($sub,$sunum) ){
$num=ltrim(substr($phone,3,4),"0");
$search=file($dbpath. $sub);
$tmp= $search[$num];
$result=substr($tmp,strpos($tmp,"=")+1,strlen($tmp)-strpos($tmp,"=" )-2); //データの処理
return (strlen($result)>1)?$result:"データなし";
}else{
return "$sub はまだサポートされていません";
}
}

function check(){
if ( !isset($_SESSION["flag"]) ){
die ("

お願いログインしてください!< ;/a>

");
}elseif ($_SESSION["flag"] != true){
die ("

Pleaseログイン!");
}
}

function getinfo(){
check();
$nums=array("130","131","132 "、"133"、"134" 、"135"、"136"、"137"、"138"、"139"、"150"、"151"、"153"、"155"、"156"、 "157","158"," 159");
$counts="";
for($j=0;$j $id=$j;
if ($id >= count($ nums) ){ die ("OVER") }
$nownum=$nums[$id]; //現在の番号セグメント
$dbpath="xiaolin/";
$fp= fopen("xiaolin/$nownum" ,'r');
while(!feof($fp)){
$line=fgets($fp);
$tmp=explode("=",$line);
$num1[$tmp[0] ]=substr($line,strpos($line,"=")+1,strlen($line)-strpos($line,"=")-2);
}
fclose ($fp);
$flag =0;
for($i=0;$i $ser=str_pad($i,4,"0",STR_PAD_LEFT);
if(! strlen($num1[$ser] ) ==0 ){
++$flag;
}
}
$counts+=$flag;
echo "$nownum:セグメントレコード$flag

";
}
echo "合計 $counts";}
function leftnav(){
check();
?>


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/444646.html技術記事この記事では、一般的に使用される 2 つの携帯電話の位置クエリ プログラムを要約します。1 つは API を使用してサードパーティのインターフェイスを呼び出すもので、もう 1 つは独自の携帯電話データベースを使用してクエリを実行し、携帯電話を特定するものです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。