本文章講的是如何透過PHP呼叫聚合資料的證件辨識介面
前置條件
1 在開始前,請作如下準備
學會用PHP輸出「Hello World」專用的KEY:https://www.juhe.cn/docs/api/id/153
操作步驟
配置好PHP開發環境
在對應的本地網站根目錄下新建一個資料夾並命名為: card
請準備一張jpg格式的身分證照片(此範例中的圖片來自網路),並命名為1.jpg,放在card目錄
請務必確保PHP對1.jpg有讀取權限(先用fopen('1.jpg', 'r')測試一下)
在card目錄新建一個index.php文件,並輸入以下內容:
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> $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,正常情況下你應該看到類似下面的內容:
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
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" : ''); } } ?>