摘要:前置条件在开始前,请作如下准备 1.学会用PHP输出“Hello World” 2.去 聚合数据 申请证件识别专用的KEY:https://www.juhe.cn/操作步骤配置好PHP开发环境 在相应的本地网站根目录下新建一个文件夹并命名为:card 请准备一张jpg格式的身份证照片(本示例中的图片来自网络),并命名为1.jpg,放在ca
前置条件
在开始前,请作如下准备
1.学会用PHP输出“Hello World”
2.去 聚合数据 申请证件识别专用的KEY:https://www.juhe.cn/
操作步骤
配置好PHP开发环境
在相应的本地网站根目录下新建一个文件夹并命名为:card
请准备一张jpg格式的身份证照片(本示例中的图片来自网络),并命名为1.jpg,放在card目录
请务必确保PHP对1.jpg有读权限(先用fopen(‘1.jpg’, ‘r’)测试一下)
在card目录新建一个index.php文件,并输入以下内容:
<?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>6.
$cfile = curl_file_create('filename.jpg', $config['type'], 'postname.jpg');//curl_file_create()函数返回的其实就是第二种方法CURLFile的对象实例
$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' => new CURLFile(realpath('D://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;
}7.打开浏览器,访问http://localhost/card/index.php,正常情况下你应该看到类似下面的内容:
{
"error_code": "200",
"reason": "操作成功",
"result": {
"住址": "XX省XX县XX村XX号",
"保留": "",
"公民身份号码": "420188195408288888",
"出生": "1954-08-28",
"头像": "",
"姓名": "XXX",
"性别": "女",
"民族": "汉族"
}8.如果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" : '');
}
}
?>