ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して集約データのドキュメント認識インターフェイスを呼び出し、ローカルの写真を識別します

PHP を使用して集約データのドキュメント認識インターフェイスを呼び出し、ローカルの写真を識別します

巴扎黑
巴扎黑オリジナル
2016-11-07 17:27:291474ブラウズ

この記事では、PHP を介して集約データの ID 認識インターフェイスを呼び出す方法について説明します

前提条件

1 開始する前に、次の準備を行ってください

PHP を使用して「Hello World」を出力する方法を学びます

適用するデータを集約するにはID認識用の専用KEY: https://www.juhe.cn/docs/api/id/153

操作手順

PHP開発環境を設定します

対応するローカルWebサイトのルートディレクトリに新しいフォルダーを作成し、名前を付けます: カード

ID カードの写真を jpg 形式で用意し (この例の画像はインターネットから取得したものです)、1.jpg という名前を付けて、カード ディレクトリに配置してください

PHP が 1 に対して読み取り権限を持っていることを確認してください。 .jpg (最初に fopen('1.jpg', 'r') テストで使用してください)

カード ディレクトリに新しいindex.php ファイルを作成し、次の内容を入力します:

Php コード

<?php
/**
 * 证件识别接口示例
 * 提供两种方式,请根据您的PHP版本、服务器环境等因素选择适合的方式
 * 推荐使用第一种(PHP 5 >= 5.5.0)
 * 示例中的身份证图片来自网络,用真实的身份证图片会有更佳的识别效果
 */
 
header("Content-type:text/html;charset=utf-8");
$config = array(
   &#39;key&#39; => &#39;将我替换成您申请的KEY&#39;,
   //聚合数据证件识别接口的URL地址
   &#39;url&#39; => &#39;http://v.juhe.cn/certificates/query.php&#39;,
   //证件的类型,这里是身份证正面
   &#39;type&#39; => &#39;image/jpg&#39;,
   //证件图片的类型
   &#39;cardType&#39; => &#39;2&#39;,
);
 
/*第一种方式*/
$ch = curl_init($config[&#39;url&#39;]);
//$filename <p> Path to the file which will be uploaded.</p>
//$postname [optional] <p>Name of the file.</p>
$cfile = curl_file_create(&#39;filename.jpg&#39;, $config[&#39;type&#39;], &#39;postname.jpg&#39;);
$data = array(
   &#39;cardType&#39; => $config[&#39;cardType&#39;],
   &#39;key&#39; => $config[&#39;key&#39;],
   &#39;pic&#39; => $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(
   &#39;cardType&#39; => $config[&#39;cardType&#39;],
   &#39;key&#39; => $config[&#39;key&#39;],
   &#39;pic&#39; => "@1.jpg",
);
post($config[&#39;url&#39;], $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(&#39;curl_file_create&#39;)) {
    function curl_file_create($filename, $mimetype = &#39;&#39;, $postname = &#39;&#39;) {
        return "@$filename;filename="
            . ($postname ?: basename($filename))
            . ($mimetype ? ";type=$mimetype" : &#39;&#39;);
    }
}
 
?>


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。