實現(xiàn)身份證OCR識別的方法:1、申請開通身份證OCR識別接口,獲取API請求KEY;2、調用接口API,通過“function juhecurl($url,$params=false,$ispost=0){…}”方式發(fā)出請求,處理數(shù)據(jù)并返回結果;3、獲取接口返回內容,并用json_decode()解析成數(shù)組;4、打印返回結果。
php入門到就業(yè)線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調試工具:點擊使用
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
基于PHP的身份證OCR識別接口調用示例
申請接口
接口備注:識別身份證正面或反面的一些關鍵字
通過 https://www.juhe.cn/docs/api/id/287?s=cpphpcn
自助申請開通接口,獲取API請求KEY
請求參數(shù)
名稱 | 必填 | 說明 |
---|---|---|
key | 是 | 在個人中心->我的數(shù)據(jù),接口名稱上方查看 |
image | 是 | 圖像數(shù)據(jù),base64編碼(不包含data:image/jpeg;base64,),要求base64編碼后大小不超過4M,最短邊至少15px,最長邊最大4096px,支持jpg/png/bmp格式 |
side | 是 | front:正面識別;back:反面識別; |
PHP示例代碼
其中將證件圖片轉為base64字符串請參考 https://www.sdk.cn/details/vOVl36qOLmlV8E9WXJ
$apiurl="http://apis.juhe.cn/idimage/verify";//請求地址 $key = "";//32位的KEY $image= "";//圖片base64后字符串 $side="front";//正反面 $params=compact('key','image','side');//組合請求參數(shù) $content=juhecurl($apiurl,$params,1);//post請求獲取接口返回內容json字符串 $result = json_decode($content,true);//解析成數(shù)組 if($result){ if($result['error_code']=='0'){ print_r($result); }else{ echo $result['error_code'].":".$result['reason']; } }else{ echo "請求失敗"; } //網(wǎng)絡請求方法 function juhecurl($url,$params=false,$ispost=0){ $httpInfo = array(); $ch = curl_init(); curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 ); curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 3); curl_setopt( $ch, CURLOPT_TIMEOUT , 8); curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true ); if ($params) { if (is_array($params)) { $paramsString = http_build_query($params); } else { $paramsString = $params; } } else { $paramsString = ""; } if( $ispost ) { curl_setopt( $ch , CURLOPT_POST , true ); curl_setopt( $ch , CURLOPT_POSTFIELDS , $paramsString); curl_setopt( $ch , CURLOPT_URL , $url ); } else { if($paramsString ){ curl_setopt( $ch , CURLOPT_URL , $url.'?'.$paramsString); }else{ curl_setopt( $ch , CURLOPT_URL , $url); } } $response = curl_exec( $ch ); if ($response === FALSE) { //echo "cURL Error: " . curl_error($ch); return false; } $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE ); $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) ); curl_close( $ch ); return $response; }
登錄后復制
JSON返回示例
身份證正面識別結果示例: { "reason": "成功", "result":{ "realname": "張三",/*姓名*/ "sex": "男",/*性別*/ "nation": "侗",/*民族*/ "born": "19760613",/*出生日期*/ "address": "貴州省都勻市甘塘鎮(zhèn)長紅機器廠散居戶169號",/*地址*/ "idcard": "522701197606131935",/*身份證號*/ "side": "front",/*正面*/ "orderid": 339057896/*本次查詢流水號*/ }, "error_code": 0 } -------------------------------------------------------------------------------------------- 身份證背面識別結果示例: { "reason": "成功", "result":{ "begin": "20130501",/*簽發(fā)日期*/ "department": "東臺市公安局",/*簽發(fā)機關*/ "end": "20180501",/*失效日期*/ "side": "back",/*反面*/ "orderid": 478799279/*本次查詢流水號*/ }, "error_code": 0 }
登錄后復制
推薦學習:《PHP視頻教程》