zoukankan      html  css  js  c++  java
  • 用PHP调用证件识别接口识别本地图片

    前置条件

    在开始前,请作如下准备:
    1.学会用PHP输出“Hello World” 
    2.去聚合数据申请证件识别专用的KEY:https://www.juhe.cn/docs/api/id/153

    操作步骤

    1.配置好PHP开发环境 
    2.在相应的本地网站根目录下新建一个文件夹并命名为:card 
    3.请准备一张jpg格式的身份证照片(本示例中的图片来自网络),并命名为1.jpg,放在card目录 
    4.请务必确保PHP对1.jpg有读权限(先用fopen(‘1.jpg’, ‘r’)测试一下) 
    5.在card目录新建一个index.php文件,并输入以下内容:

    <?php
    /**
     * 证件识别接口示例
     * 提供两种方式,请根据您的PHP版本、服务器环境等因素选择适合的方式
     * 推荐使用第一种(PHP 5 >= 5.5.0)
     * 示例中的身份证图片来自网络,用真实的身份证图片会有更佳的识别效果
     */
    
    header("Content-type:text/html;charset=utf-8");
    $config = array(
      'key' => '将我替换成您申请的KEY',
      'url' => 'http://v.juhe.cn/certificates/query.php', //聚合数据证件识别接口的URL地址
      'cardType' => '2', //证件的类型
      'type' => 'image/jpg', //证件图片的类型
    );
    
    /*第一种方式*/
    $ch = curl_init($config['url']);
    $cfile = curl_file_create('1.jpg', $config['type'], '1.jpg');
    $data = array(
      'cardType' => $config['cardType'],
      'key' => $config['key'],
      'pic' => $cfile,
    );
    curl_setopt($ch, CURLOPT_POST,1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_exec($ch);
    curl_close($ch);
    
    echo "";
    /*/第一种方式*/
    
    /*第二种方式*/
    $data = array(
      'cardType' => $config['cardType'],
      'key' => $config['key'],
      'pic' => "@1.jpg",
    );
    post($config['url'], $data);
    /*/第二种方式*/
    
    function post($url, $data) {
      $ch = curl_init();
      curl_setopt( $ch , CURLOPT_POST , true );
      @curl_setopt( $ch , CURLOPT_POSTFIELDS , $data);
      curl_setopt($ch, CURLOPT_URL, $url);
      curl_exec($ch);
      curl_close($ch);
    }
    

    6.打开浏览器,访问http://localhost/card/index.php,正常情况下你应该看到类似下面的内容:

    {"error_code":"200","reason":"操作成功","result":{"住址":"XX省XX县XX村XX号","保留":"","公民身份号码":"420188195408288888","出生":"1954-08-28","头像":"","姓名":"XXX","性别":"女","民族":"汉族"}}
    {"error_code":"200","reason":"操作成功","result":{"住址":"XX省XX县XX村XX号","保留":"","公民身份号码":"420188195408288888","出生":"1954-08-28","头像":"","姓名":"XXX","性别":"女","民族":"汉族"}}
    

    7.如果PHP版本低于5.5,但是又想用curl_file_create,请参考文档提供的方法:http://php.net/manual/en/function.curl-file-create.php

    For PHP < 5.5:
     
    <?php
     
    if (!function_exists('curl_file_create')) {
        function curl_file_create($filename, $mimetype = '', $postname = '') {
            return "@$filename;filename="
                . ($postname ?: basename($filename))
                . ($mimetype ? ";type=$mimetype" : '');
        }
    }
     
    ?>
    

      

  • 相关阅读:
    linux 内存映射-ioremap和mmap函数
    vue 模板语法-插值的操作(12-22)
    chrome浏览器json插件
    vue初识(1-11)2020-10-27
    后盾人:JS课程第一章(11-18)2020-10-25
    博客园美化
    chrome 设置自动刷新网页
    二叉树的层次遍历
    poj 2905 双向队列(待补充)
    poj 2159 D
  • 原文地址:https://www.cnblogs.com/annie00/p/5983601.html
Copyright © 2011-2022 走看看