重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇“php如何实现身份证OCR识别”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何实现身份证OCR识别”文章吧。
专注于为中小企业提供网站设计制作、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业且末免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
实现身份证OCR识别的方法:1、申请开通身份证OCR识别接口,获取API请求KEY;2、调用接口API,通过“function juhecurl($url,$params=false,$ispost=0){...}”方式发出请求,处理数据并返回结果;3、获取接口返回内容,并用json_decode()解析成数组;4、打印返回结果。
基于PHP的身份证OCR识别接口调用示例
申请接口
接口备注:识别身份证正面或反面的一些关键字
通过 https://www.juhe.cn/docs/api/id/287?s=cpphpcn
自助申请开通接口,获取API请求KEY
请求参数
名称 | 必填 | 说明 |
---|---|---|
key | 是 | 在个人中心->我的数据,接口名称上方查看 |
image | 是 | 图像数据,base64编码(不包含data:image/jpeg;base64,),要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
side | 是 | front:正面识别;back:反面识别; |
PHP示例代码
其中将证件图片转为base64字符串
$apiurl="http://apis.juhe.cn/idimage/verify";//请求地址
$key = "";//32位的KEY
$image= "";//图片base64后字符串
$side="front";//正反面
$params=compact('key','image','side');//组合请求参数
$content=juhecurl($apiurl,$params,1);//post请求获取接口返回内容json字符串
$result = json_decode($content,true);//解析成数组
if($result){
if($result['error_code']=='0'){
print_r($result);
}else{
echo $result['error_code'].":".$result['reason'];
}
}else{
echo "请求失败";
}
//网络请求方法
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": "贵州省都匀市甘塘镇长红机器厂散居户169号",/*地址*/
"idcard": "522701197606131935",/*身份证号*/
"side": "front",/*正面*/
"orderid": 339057896/*本次查询流水号*/
},
"error_code": 0
}
--------------------------------------------------------------------------------------------
身份证背面识别结果示例:
{
"reason": "成功",
"result":{
"begin": "20130501",/*签发日期*/
"department": "东台市公安局",/*签发机关*/
"end": "20180501",/*失效日期*/
"side": "back",/*反面*/
"orderid": 478799279/*本次查询流水号*/
},
"error_code": 0
}
以上就是关于“php如何实现身份证OCR识别”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注创新互联行业资讯频道。