Home > Article > Backend Development > Use PHP to call the aggregated data document identification interface to identify local pictures
This article talks about how to call the ID recognition interface of aggregated data through PHP
Prerequisites
1 Before starting, please make the following preparations
Learn to use PHP to output "Hello World"
To aggregate data to apply for ID recognition Dedicated KEY: https://www.juhe.cn/docs/api/id/153
Operation steps
Configure the PHP development environment
Create a new folder in the corresponding local website root directory and name it: card
Please prepare an ID card photo in jpg format (the picture in this example is from the Internet), name it 1.jpg, and place it in the card directory
Please make sure that PHP has read permission for 1.jpg (use it first fopen('1.jpg', 'r') test)
Create a new index.php file in the card directory and enter the following content:
Php code
<?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 <p> Path to the file which will be uploaded.</p> //$postname [optional] <p>Name of the file.</p> $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. Open the browser and visit http:// localhost/card/index.php, under normal circumstances you should see something similar to the following:
Php code
{"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. If the PHP version is lower than 5.5, but you want to use curl_file_create, please refer to the method provided in the official documentation: http://php.net/manual/en/function.curl-file-create.php
Php code
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" : ''); } } ?>