• 技术文章 >php教程 >php手册

    身份证件识别接口编写的PHP调用示例

    2016-09-27 14:04:28原创615
    用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 5 >= 5.5.0)
    * 示例中的身份证图片来自网络,用真实的身份证图片会有更佳的识别效果
    */

    header("Content-type:text/html;charset=utf-8");
    $config = array(
    'key' => '将我替换成您申请的KEY',
    //聚合数据证件识别接口的URL地址
    'url' => 'http://v.juhe.cn/certificates/query.php',
    //证件的类型,这里是身份证正面
    'type' => 'image/jpg',
    //证件图片的类型
    'cardType' => '2',
    );

    /*第一种方式*/
    $ch = curl_init($config['url']);
    //$filename

    Path to the file which will be uploaded.


    //$postname [optional]

    Name of the file.


    $cfile = curl_file_create('filename.jpg', $config['type'], 'postname.jpg');
    $data = array(
    'cardType' => $config['cardType'],
    'key' => $config['key'],
    'pic' => $cfile,
    );
    curl_setopt($ch, CURLOPT_POST,1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    //已经获取到内容,还没输出,如果不加下面这行,则不需要echo response
    //curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_exec($ch);
    curl_close($ch);

    /*/第一种方式*/

    /*第二种方式*/
    $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_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($ch);
    curl_close($ch);
    echo $response;
    }
    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.phpFor PHP < 5.5:


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

    ?>

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    上一篇:TPshop开源商城系统 下一篇:THINKPHP 云歌音乐网Cms系统|社会化音乐分享程序|
    大前端线上培训班

    相关文章推荐

    • php中实现api接口思路介绍 • php的memcached扩展• php 备份数据库代码(生成word,excel,json,xml,sql)• php Smarty 字符比较代码• PHP及Zend Engine的线程安全模型分析

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网