• 技术文章 >后端开发 >PHP问题

    php怎么实现身份证OCR识别

    青灯夜游青灯夜游2022-10-21 18:22:28原创257

    实现身份证OCR识别的方法:1、申请开通身份证OCR识别接口,获取API请求KEY;2、调用接口API,通过“function juhecurl($url,$params=false,$ispost=0){...}”方式发出请求,处理数据并返回结果;3、获取接口返回内容,并用json_decode()解析成数组;4、打印返回结果。

    php入门到就业线上直播课:进入学习

    本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

    基于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格式
    sidefront:正面识别;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');//组合请求参数
    $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视频教程

    以上就是php怎么实现身份证OCR识别的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:php
    上一篇:php mysql如何查询个数 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• php 文件下载文件名乱码怎么办• 一步步教你如何搭建php8环境(附常见问题解决办法)• php如何查询邮编• php如何查询新华字典• PHP怎么校验银行卡四元素
    1/1

    PHP中文网