日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

php实现身份证号码获取归属地地址的实例

發(fā)布時間:2024/8/1 php 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php实现身份证号码获取归属地地址的实例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

什么是接口(interface) ?

接口是方法的抽象,如果不同的類有同樣的方法,那么就應(yīng)該考慮使用接口。?
(1)接口是一個行為的規(guī)范、協(xié)議。其實就是類和類之間的一種協(xié)定,一種約束
(2)C#不支持多繼承,但是他把這個功能交給接口來實現(xiàn)。?
(3)類與類之間的系統(tǒng)資源調(diào)用方式不一樣,導(dǎo)致他們之間的通信很困難,而接口可以屏蔽掉它們之間的差異,能使他們順利通信。

https://www.nowapi.com/api/idcard.get?在連接中尋找身份證號碼歸屬地查詢接口

身份證查詢接口:
返回XML數(shù)據(jù):http://www.youdao.com/smartresult-xml/search.s?type=id&q=身份證號
返回JSON數(shù)據(jù):http://www.youdao.com/smartresult-xml/search.s?jsFlag=true&type=id&q=身份證號

用PhpStorm(本人PhpStorm版本2019版可能會有些不一樣)搭建?laravel框架

數(shù)據(jù)庫內(nèi)容

?

先寫一個表單以供查詢和結(jié)果

<center>身份證號:<input type="text" id="tel"><button id="sub">查詢</button> <table border="1"><tr><th>身份證號</th><th>歸屬地</th><th>區(qū)號</th><th>數(shù)據(jù)來源</th></tr><tr class="tr"><td></td><td></td><td></td><td></td></tr> </table> </center>

通過前端的ajax或者異步請求實現(xiàn)

傳統(tǒng)的web應(yīng)用允許用戶填寫表單(form),當(dāng)提交表單時就向web服務(wù)器發(fā)送一個請求。服務(wù)器接收并處理傳來的表單,然後返回一個新的網(wǎng)頁。這個做法浪費了許多帶寬,因為在前後兩個頁面中的大部分HTML代碼往往是相同的。由于每次應(yīng)用的交互都需要向服務(wù)器發(fā)送請求,應(yīng)用的響應(yīng)時間就依賴于服務(wù)器的響應(yīng)時間。這導(dǎo)致了用戶界面的響應(yīng)比本地應(yīng)用慢得多。AJAX應(yīng)用可以僅向服務(wù)器發(fā)送并取回必需的數(shù)據(jù)。

<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <script>//搜索$('#sub').click(function (){//獲取身份證號var tel = $('#tel').val();$.ajax({url:'telTo',data:{tel:tel},type:'get',dataType:'json',success:function (res){if(res.code==200){$('table').show();$('.tr>td:eq(0)').text(res.data.idcard);$('.tr>td:eq(1)').text(res.data.att);$('.tr>td:eq(2)').text(res.data.areano);$('.tr>td:eq(3)').text(res.msg);console.log(res);}}})}) </script>

在路由傳遞

Route::get('tel','NumController@tel'); Route::get('telto','NumController@telto');

控制器中先調(diào)用接口正常,能夠查詢到身份證的信息

接口定義了實現(xiàn)某種服務(wù)的一般規(guī)范,聲明了所需的函數(shù)和常量,但不指定如何實現(xiàn)。之所以不給出實現(xiàn)的細節(jié),是因為不同的實體可能需要用不同的方式來實現(xiàn)公共的方法定義。關(guān)鍵是要建立必須實現(xiàn)的一組一般原則,只有滿足了這些原則才能說實現(xiàn)了這個接口。

接口中不定義類成員!類成員的定義完全交給實現(xiàn)類來完成。

獲得接口返回JSON數(shù)據(jù)

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\DB; use PDO; use Illuminate\Http\Request; class NumController extends Controller {/*** 接口獲取信息* @param $aparm* @return false|mixed*/function nowapi_call($a_parm){if(!is_array($a_parm)){return false;}//combinations$a_parm['format']=empty($a_parm['format'])?'json':$a_parm['format'];$apiurl=empty($a_parm['apiurl'])?'http://api.k780.com/?':$a_parm['apiurl'].'/?';unset($a_parm['apiurl']);foreach($a_parm as $k=>$v){$apiurl.=$k.'='.$v.'&';}$apiurl=substr($apiurl,0,-1);if(!$callapi=file_get_contents($apiurl)){return false;}//formatif($a_parm['format']=='base64'){$a_cdata=unserialize(base64_decode($callapi));}elseif($a_parm['format']=='json'){if(!$a_cdata=json_decode($callapi,true)){return false;}}else{return false;}//arrayif($a_cdata['success']!='1'){echo $a_cdata['msgid'].' '.$a_cdata['msg'];return false;}return $a_cdata['result'];}}

跳轉(zhuǎn)至查詢頁面

/*** 跳轉(zhuǎn)查詢頁面* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\View\View*/public function Tel(){return view('tel');}

傳值查詢獲取身份證號用PDO奇數(shù)存入

數(shù)據(jù)庫、需要生成靜態(tài)頁面

通過第三方API接口

PHP 數(shù)據(jù)對象 (PDO) 擴展為PHP訪問數(shù)據(jù)庫定義了一個輕量級的一致接口。

PDO 提供了一個數(shù)據(jù)訪問抽象層,這意味著,不管使用哪種數(shù)據(jù)庫,都可以用相同的函數(shù)(方法)來查詢和獲取數(shù)據(jù)。

一般在頁面中傳值常見的是POST、GET和COOKIE幾種,所以下面我也主要介紹這幾種。PHP4以后都采用的是$_POST、$_GET等數(shù)組來獲取網(wǎng)頁傳值。

具體代碼如下

/*** 傳值查詢* @param Request $request*/function telTo(Request $request){//獲取身份證號$idcard = $request->get('tel');//命名文件$fiel = $idcard.'.html';//第三次查詢,是否存在靜態(tài)頁面if(file_exists($fiel)){$data=file_get_contents($fiel);return ['code'=>200,'msg'=>'純靜態(tài)頁面讀取','data'=>json_decode($data)];}//第二次查詢//查詢數(shù)據(jù)庫是否存在$data = DB::table('idcard')->where('idcard',$idcard)->first();if($data){$res=['code'=>200,'msg'=>'數(shù)據(jù)庫讀取','data'=>$data];//存入靜態(tài)模式file_put_contents($fiel,json_encode($data));//返回json模式return json_encode($res);}//改變信息接口查詢$nowapi_parm['app']='idcard.get';$nowapi_parm['idcard']=$idcard;$nowapi_parm['appkey']='60735';$nowapi_parm['sign']='7a992e81919e0a72231d0bb9ecf849d9';$nowapi_parm['format']='json';$result=$this->nowapi_call($nowapi_parm); // dd($result);//轉(zhuǎn)化查詢數(shù)據(jù)$sql = "'".implode("','",$result)."'";//引入PDO向數(shù)據(jù)庫插入數(shù)據(jù)$pdo = new PDO('mysql:host=127.0.0.1;dbname=test;',"root","root");$pdo->exec("insert into idcard value (null,$sql)");//返回接口查詢數(shù)據(jù) :第一次查詢return ['code'=>200,'msg'=>'接口調(diào)用','data'=>$result];}

這樣就完成php實現(xiàn)查詢身份證號的歸屬地查詢。

總結(jié)

以上是生活随笔為你收集整理的php实现身份证号码获取归属地地址的实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。