前置条件

在开始前,请作如下准备:
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" : '');
}
} ?>

  

最新文章

  1. CSipSimple 简单分析
  2. selector 和 shape结合使用
  3. OpenCV 2.4.8组件结构全解析
  4. 洛谷P2738 [USACO4.1]篱笆回路Fence Loops
  5. __sync_fetch_and_add
  6. 内存管理tcmalloc
  7. BZOJ 1185 最小矩形覆盖
  8. 从51跳新唐cortex-m0学习1——思想转变
  9. 【Demo 0001】Java基础-数据类型
  10. Just learn how to use the JNI
  11. If you pay peanuts,you get monkeys
  12. QLabel播放gif
  13. Java 创建、填充PDF表单域
  14. NullPointerException空指针异常——没有事先加载布局文件到acitivy——缺少:setContentView(R.layout.activity_setup_over);
  15. python3-基础2
  16. spring boot 配置注入
  17. char 与 varchar 区别
  18. C++ vector 容器浅析
  19. Jmeter JDBC Request 查询语句中有汉字查询结果为空的解决方法
  20. spring 手动添加 bean 到容器,例子 :多数据源配置

热门文章

  1. C++字符串高效查找替换,有空分析分析
  2. [LOJ#2323]「清华集训 2017」小Y和地铁
  3. BZOJ2121 字符串游戏 【dp】
  4. Mysql EXISTS NOT EXISTS
  5. set基本用法---1
  6. 十步完全理解 SQL(转载)
  7. GC+JVM
  8. [LeetCode] Length of Last Word 字符串查找
  9. Turn on and off trigger events 生效控制
  10. springboot 邮件