Verwenden Sie PHP, um die Schnittstelle zur Identifizierung aggregierter Datendokumente aufzurufen und lokale Bilder zu identifizieren
Voraussetzungen
Bevor Sie beginnen, bereiten Sie sich bitte wie folgt vor:
1. Lernen Sie, PHP zur Ausgabe von „Hello World“ zu verwenden
2. Gehen Sie zu den aggregierten Daten und beantragen Sie einen SCHLÜSSEL zur Dokumentenidentifizierung: https://www.juhe.cn/docs/api/id/153
Bedienungsschritte
1. Konfigurieren Sie die PHP-Entwicklungsumgebung
2. Erstellen Sie einen neuen Ordner im Stammverzeichnis der entsprechenden lokalen Website und nennen Sie ihn: Karte
3. Bitte bereiten Sie ein Ausweisfoto im JPG-Format vor (das Bild in diesem Beispiel stammt aus dem Internet), nennen Sie es 1.jpg und legen Sie es im Kartenverzeichnis
ab
4. Bitte stellen Sie sicher, dass PHP Leseberechtigung für 1.jpg hat (zuerst mit fopen('1.jpg', 'r') testen)
5. Erstellen Sie eine neue index.php-Datei im Kartenverzeichnis und geben Sie folgenden Inhalt ein: /**<br>
* 证件识别接口示例<br>
* 提供两种方式,请根据您的PHP版本、服务器环境等因素选择适合的方式<br>
* 推荐使用第一种(PHP 5 >= 5.5.0)<br>
* 示例中的身份证图片来自网络,用真实的身份证图片会有更佳的识别效果<br>
*/<br>
<br>
header("Content-type:text/html;charset=utf-8");<br>
$config = array(<br>
'key' => '将我替换成您申请的KEY',<br>
//聚合数据证件识别接口的URL地址<br>
'url' => 'http://v.juhe.cn/certificates/query.php',<br>
//证件的类型,这里是身份证正面<br>
'type' => 'image/jpg',<br>
//证件图片的类型<br>
'cardType' => '2',<br>
);<br>
<br>
/*第一种方式*/<br>
$ch = curl_init($config['url']);<br>
//$filename <p> Path to the file which will be uploaded.</p><br>
//$postname [optional] <p>Name of the file.</p><br>
$cfile = curl_file_create('filename.jpg', $config['type'], 'postname.jpg');<br>
$data = array(<br>
'cardType' => $config['cardType'],<br>
'key' => $config['key'],<br>
'pic' => $cfile,<br>
);<br>
curl_setopt($ch, CURLOPT_POST,1);<br>
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);<br>
//已经获取到内容,还没输出,如果不加下面这行,则不需要echo response<br>
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);<br>
curl_exec($ch);<br>
curl_close($ch);<br>
<br>
/*/第一种方式*/<br>
<br>
/*第二种方式*/<br>
$data = array(<br>
'cardType' => $config['cardType'],<br>
'key' => $config['key'],<br>
'pic' => "@1.jpg",<br>
);<br>
post($config['url'], $data);<br>
/*/第二种方式*/<br>
<br>
function post($url, $data) {<br>
$ch = curl_init();<br>
curl_setopt( $ch , CURLOPT_POST , true );<br>
@curl_setopt( $ch , CURLOPT_POSTFIELDS , $data);<br>
curl_setopt($ch, CURLOPT_URL, $url);<br>
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);<br>
$response = curl_exec($ch);<br>
curl_close($ch);<br>
echo $response;<br>
}
/**
* Beispiel für eine ID-Erkennungsschnittstelle<br>
* Es stehen zwei Methoden zur Verfügung. Bitte wählen Sie die entsprechende Methode entsprechend Ihrer PHP-Version, Serverumgebung und anderen Faktoren aus
* Es wird empfohlen, das erste zu verwenden (PHP 5 >= 5.5.0)
* Das Ausweisbild im Beispiel stammt aus dem Internet, die Verwendung eines echten Ausweisbildes hat einen besseren Erkennungseffekt
*/
header("Content-type:text/html;charset=utf-8");
$config = array(
'key' => 'Ersetzen Sie mich durch den von Ihnen beantragten SCHLÜSSEL',
//Die URL-Adresse der Schnittstelle zur Identifizierung aggregierter Datendokumente
'url' => 'http://v.juhe.cn/certificates/query.php',
//Art des Dokuments, hier ist die Vorderseite des Personalausweises
'type' => 'image/jpg',
//Art des Ausweisbildes
'cardType' => '2',
);
/*Erster Weg*/
$ch = curl_init($config['url']);
//$filename <p> Pfad zur Datei, die hochgeladen wird.</p>
//$postname [optional] <p>Name der Datei.</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);
//Der Inhalt wurde abgerufen, aber noch nicht ausgegeben. Wenn Sie die folgende Zeile nicht hinzufügen, ist keine Echoantwort erforderlich
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_exec($ch);
curl_close($ch);
/*/Erster Weg*/
/*Zweiter Weg*/
$data = array(
'cardType' => $config['cardType'],
'key' => $config['key'],
'pic' => "@1.jpg",
);
post($config['url'], $data);
/*/Zweiter Weg*/
Funktion 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. Öffnen Sie den Browser und besuchen Sie http://localhost/card/index.php. Unter normalen Umständen sollten Sie einen Inhalt wie den folgenden sehen: {"error_code":: reason „Operation erfolgreich“, „result“:{“Address“: „No ::“1954 -08-28“, „Avatar“: „“, „Name“: „XXX“, „Geschlecht“: „Weiblich“, „Ethnizität“: „Han“}}{"error_code": "200", "reason": "Vorgang erfolgreich", "result": {"Address": "Nr. XX Village, XX County, XX Province", "Reserved": "", "Bürgeridentität". Nummer“ : „420188195408288888“, „Geburt“: „1954-08-28“, „Avatar“: „“, „Name“: „XXX“, „Geschlecht“: „weiblich“, „Ethnizität“: „Han“} }7. Wenn die PHP-Version niedriger als 5.5 ist, Sie aber curl_file_create verwenden möchten, lesen Sie bitte die in der offiziellen Dokumentation bereitgestellte Methode: http://php.net/manual/en/function.curl-file -create.phpFür PHP < 5.5:<br />
<br />
<?php<br />
<br />
if (!function_exists('curl_file_create')) {<br />
Funktion curl_file_create($filename, $mimetype = '', $postname = '') {<br />
return "@$filename;filename="<br />
($postname ?: basename($filename))<br />
. ($mimetype ? ";type=$mimetype" : '');<br />
</br />
</br />
<br />
?><code class="prettyprint linenums lang-php">For PHP < 5.5:<br />
<br />
<?php<br />
<br />
if (!function_exists('curl_file_create')) {<br />
function curl_file_create($filename, $mimetype = '', $postname = '') {<br />
return "@$filename;filename="<br />
. ($postname ?: basename($filename))<br />
. ($mimetype ? ";type=$mimetype" : '');<br />
}<br />
}<br />
<br />
?>