Maison développement back-end tutoriel php Implémentation de la méthode d'identification de la carte d'identité php ORC

Implémentation de la méthode d'identification de la carte d'identité php ORC

Jul 05, 2018 pm 04:20 PM
身份证识别

Cet article présente principalement l'implémentation de la méthode ORC pour la reconnaissance des cartes d'identité php. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

Créez d'abord un code HTML. et utilisez Transférer le format json vers un fichier php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>身份证识别</title> 
<style> 
</style> 
<script> 
    window.onload = function(){ 
        var input = document.getElementById("demo_input"); 
        var result= document.getElementById("result"); 
        var img_area = document.getElementById("img_area"); 
        if ( typeof(FileReader) === &#39;undefined&#39; ){
            result.innerHTML = "抱歉,你的浏览器不支持 FileReader,请使用现代浏览器操作!"; 
            input.setAttribute(&#39;disabled&#39;,&#39;disabled&#39;); 
        }else{
            input.addEventListener(&#39;change&#39;,readFile,false);
        } 
    }
    function readFile(){
        var file = this.files[0]; 
        //这里我们判断下类型如果不是图片就返回 去掉就可以上传任意文件   
        if(!/image\/\w+/.test(file.type)){
            alert("请确保文件为图像类型"); 
            return false; 
        }
        var reader = new FileReader(); 
        reader.readAsDataURL(file); 
        console.log();
        reader.onload = function(e){ 
                result.innerHTML = this.result; 
                img_area.innerHTML = &#39;<p class="sitetip">图片img标签展示:</p><img src="&#39;+this.result+&#39;" alt=""/>&#39;; 
        }
    } 
</script> 
</head>


<body> 
    <form action="upload.php" method="post">
    <input type="file" value="sdgsdg" id="demo_input" /> 
    <textarea style=&#39;display: none;&#39; name="img" id="result" rows=30 cols=300></textarea> 
    <p id="img_area"></p> 
    <input type="submit" value="提交">
</form>
</body> 
</html>
Copier après la connexion

Créer un upload.php

<?php
header("Content-Type: text/html; charset=UTF-8");
/**
 * base64图片上传
 * @param $base64_img
 * @return array
 */
$base64_img = trim($_POST[&#39;img&#39;]);
$up_dir = &#39;upload/&#39;;//存放在当前目录的upload文件夹下
$fi_dir = &#39;ok_upload/&#39;;//存放在当前目录的upload文件夹下
if(!file_exists($up_dir)){
    mkdir($up_dir,0777);
}
if(preg_match(&#39;/^(data:\s*image\/(\w+);base64,)/&#39;, $base64_img, $result)){
    $type = $result[2];
    if(in_array($type,array(&#39;pjpeg&#39;,&#39;jpeg&#39;,&#39;jpg&#39;,&#39;gif&#39;,&#39;bmp&#39;,&#39;png&#39;))){
        $new_file = $up_dir.date(&#39;YmdHis_&#39;).&#39;.&#39;.$type;
        if(file_put_contents($new_file, base64_decode(str_replace($result[1], &#39;&#39;, $base64_img)))){
 $img_path = str_replace(&#39;../../..&#39;, &#39;&#39;, $new_file);
$path   = &#39;upload/&#39;;
$data   = file_get_contents($img_path);
$base64 = base64_encode($data);
$appkey = &#39;LzJu1grfwH6UaDX2&#39;;
$params = array(
    &#39;app_id&#39;     => &#39;1106920947&#39;,
                &#39;image&#39;      => $base64,
                &#39;card_type&#39;  => &#39;0&#39;,
                &#39;time_stamp&#39; => strval(time()),
                &#39;nonce_str&#39;  => strval(rand()),
                &#39;sign&#39;       => &#39;&#39;,
);
$params[&#39;sign&#39;] = getReqSign($params, $appkey);
// 执行API调用
$url = &#39;https://api.ai.qq.com/fcgi-bin/ocr/ocr_idcardocr&#39;;//身份证识别OCR
$response = doHttpPost($url, $params);
            echo $response;die;
$arr = json_decode($response,true);
$photo = base64_decode($arr[&#39;data&#39;][&#39;image&#39;]);
if(!file_exists($fi_dir)){
    mkdir($fi_dir,0777);
}
$type = &#39;jpg&#39;;
    if(in_array($type,array(&#39;pjpeg&#39;,&#39;jpeg&#39;,&#39;jpg&#39;,&#39;gif&#39;,&#39;bmp&#39;,&#39;png&#39;))){
        $new_file = $fi_dir.date(&#39;YmdHis_&#39;).&#39;.&#39;.$type;
        if(file_put_contents($new_file, str_replace($result[1], &#39;&#39;, $photo))){
            $img_paths = str_replace(&#39;../../..&#39;, &#39;&#39;, $new_file);
            echo &#39;图片处理成功</br><img src="&#39; .$img_paths. &#39;">&#39;;
        }else{
            echo &#39;图片处理失败</br>&#39;;
        }
    }
        }else{
                    echo &#39;图片上传失败</br>&#39;;
        }
    }else{
        //文件类型错误
    echo &#39;图片上传类型错误&#39;;
    }
}else{
    //文件错误
    echo &#39;文件错误&#39;;
}
Copier après la connexion
// getReqSign :根据 接口请求参数 和 应用密钥 计算 请求签名
// 参数说明
//   - $params:接口请求参数(特别注意:不同的接口,参数对一般不一样,请以具体接口要求为准)
//   - $appkey:应用密钥
// 返回数据
//   - 签名结果
function getReqSign($params /* 关联数组 */, $appkey /* 字符串*/)
{
    // 1. 字典升序排序
    ksort($params);
    // 2. 拼按URL键值对
    $str = &#39;&#39;;
    foreach ($params as $key => $value)
    {
        if ($value !== &#39;&#39;)
        {
            $str .= $key . &#39;=&#39; . urlencode($value) . &#39;&&#39;;
        }
    }
    // 3. 拼接app_key
    $str .= &#39;app_key=&#39; . $appkey;
    // 4. MD5运算+转换大写,得到请求签名
    $sign = strtoupper(md5($str));
    return $sign;
}
Copier après la connexion
// doHttpPost :执行POST请求,并取回响应结果
// 参数说明
//   - $url   :接口请求地址
//   - $params:完整接口请求参数(特别注意:不同的接口,参数对一般不一样,请以具体接口要求为准)
// 返回数据
//   - 返回false表示失败,否则表示API成功返回的HTTP BODY部分
function doHttpPost($url, $params)
{
    $curl = curl_init();


    $response = false;
    do
    {
        // 1. 设置HTTP URL (API地址)
        curl_setopt($curl, CURLOPT_URL, $url);


        // 2. 设置HTTP HEADER (表单POST)
        $head = array(
            &#39;Content-Type: application/x-www-form-urlencoded&#39;
        );
        curl_setopt($curl, CURLOPT_HTTPHEADER, $head);


        // 3. 设置HTTP BODY (URL键值对)
        $body = http_build_query($params);
        curl_setopt($curl, CURLOPT_POST, true);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $body);


        // 4. 调用API,获取响应结果
        curl_setopt($curl, CURLOPT_HEADER, false);
        curl_setopt($curl, CURLOPT_NOBODY, false);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        $response = curl_exec($curl);
        if ($response === false)
        {
            $response = false;
            break;
        }


        $code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
        if ($code != 200)
        {
            $response = false;
            break;
        }
    } while (0);


    curl_close($curl);
    return $response;
}
Copier après la connexion

De cette façon, vous pourrez identifier les informations sur la carte d'identité

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

php implémente la fonction de téléchargement Excel via un formulaire de table HTML

Mécanisme de réflexion Reflection de PHP Introduction

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Golang se connecte à l'interface Baidu AI pour réaliser la fonction de reconnaissance de carte d'identité et démarre rapidement Golang se connecte à l'interface Baidu AI pour réaliser la fonction de reconnaissance de carte d'identité et démarre rapidement Aug 26, 2023 pm 04:31 PM

Golang se connecte à l'interface Baidu AI pour implémenter la fonction de reconnaissance de carte d'identité Préface de démarrage rapide Avec le développement de l'intelligence artificielle, les interfaces IA sont de plus en plus utilisées dans divers domaines. La plate-forme ouverte Baidu AI fournit une interface IA riche et offre aux développeurs un moyen pratique de mettre en œuvre diverses fonctions. Cet article expliquera comment utiliser Golang pour se connecter à l'interface Baidu AI afin de réaliser la fonction de reconnaissance de carte d'identité. 1. Enregistrez un compte sur la plateforme ouverte Baidu AI. Tout d'abord, nous devons créer un compte sur la plateforme ouverte Baidu AI et créer une application. Ouvrir

Comment l'application uniapp réalise-t-elle la reconnaissance des cartes d'identité et l'authentification des documents ? Comment l'application uniapp réalise-t-elle la reconnaissance des cartes d'identité et l'authentification des documents ? Oct 20, 2023 am 08:49 AM

UniApp est un framework de développement d'applications multiplateforme basé sur Vue.js. En utilisant UniApp, vous pouvez développer rapidement des applications pour plusieurs plateformes (notamment iOS, Android, H5, etc.). Dans les applications pratiques, la reconnaissance des cartes d'identité et l'authentification des documents sont des exigences très courantes. Cet article présentera comment implémenter la reconnaissance des cartes d'identité et l'authentification des documents dans les applications UniApp, et donnera des exemples de code spécifiques. 1. Reconnaissance de la carte d'identité La reconnaissance de la carte d'identité fait référence à l'extraction des informations de la photo de la carte d'identité prise par l'utilisateur, qui comprend généralement

Comment utiliser Uniapp pour développer la fonction de reconnaissance de carte d'identité Comment utiliser Uniapp pour développer la fonction de reconnaissance de carte d'identité Jul 04, 2023 am 10:16 AM

Comment utiliser uniapp pour développer la fonction de reconnaissance de carte d'identité Introduction : La reconnaissance de carte d'identité est une fonction très importante dans le domaine des applications mobiles. Elle peut analyser automatiquement les informations sur la carte d'identité une fois que l'utilisateur a pris une photo de la carte d'identité. Cet article expliquera comment utiliser uniapp pour développer la fonction de reconnaissance de carte d'identité et joindra des exemples de code pour aider les développeurs à implémenter rapidement cette fonction. 1. Travail de préparation : Avant d'utiliser uniapp pour développer la fonction de reconnaissance de carte d'identité, nous devons effectuer le travail de préparation suivant : API de reconnaissance de carte d'identité : nous pouvons choisir des tiers

Comment utiliser PHP pour appeler la caméra pour la reconnaissance de la carte d'identité Comment utiliser PHP pour appeler la caméra pour la reconnaissance de la carte d'identité Aug 01, 2023 am 11:09 AM

Comment utiliser PHP pour appeler la caméra pour la reconnaissance des cartes d'identité. Avec le développement continu de la technologie, la reconnaissance des cartes d'identité est devenue une exigence courante dans de nombreux domaines d'application. Dans le passé, nous devions généralement saisir manuellement des informations telles que les numéros d'identification, mais désormais, utiliser des caméras pour identifier les cartes d'identité est devenu un moyen plus pratique et plus efficace. Cet article expliquera comment utiliser PHP pour appeler la caméra pour la reconnaissance de la carte d'identité et joindra les exemples de code correspondants. Tout d’abord, nous devons nous assurer que PHP est installé sur notre système. Avant de commencer, nous devons également installer un

Comment utiliser PHP et Alibaba Cloud OCR pour identifier les informations de carte d'identité qui n'ont pas été mises à jour depuis longtemps ? Comment utiliser PHP et Alibaba Cloud OCR pour identifier les informations de carte d'identité qui n'ont pas été mises à jour depuis longtemps ? Jul 19, 2023 am 09:19 AM

Comment utiliser PHP et Alibaba Cloud OCR pour identifier les informations de carte d'identité qui n'ont pas été mises à jour depuis longtemps ? Introduction : Avec le développement rapide de la science et de la technologie et l'arrivée de l'ère numérique, de plus en plus de personnes s'intéressent à la manière d'utiliser les moyens techniques pour améliorer l'efficacité de l'identification et l'exactitude des informations sur les cartes d'identité. Alibaba Cloud OCR (Optical Character Recognition) est un puissant service d'intelligence artificielle qui peut convertir le contenu de documents papier tels que les cartes d'identité en texte numérique grâce à la technologie de reconnaissance d'image, améliorant considérablement la vitesse et la précision du traitement des données.

Comment ouvrir un compte en monnaie numérique Comment ouvrir un compte en monnaie numérique Apr 10, 2024 am 11:58 AM

1. La première étape pour ouvrir un compte en monnaie numérique consiste à choisir une bourse appropriée pour ouvrir un compte. Les utilisateurs doivent prendre en compte des facteurs tels que les frais de transaction, la popularité et la sécurité. Il est recommandé d'utiliser des bourses bien connues telles que Binance, Huobi et OKEx. 2. Accédez au site officiel de l'échange, cliquez sur le bouton [S'inscrire] et remplissez les informations personnelles (telles que l'adresse e-mail, le nom d'utilisateur et le mot de passe). 3. Vérification d'identité : la plupart des échanges proposent deux méthodes de vérification d'identité : la reconnaissance de la carte d'identité et la reconnaissance faciale. Les utilisateurs peuvent suivre les instructions pour terminer la vérification de l'identité. 4. Lier la carte bancaire : Il est recommandé aux utilisateurs de vérifier attentivement les informations pertinentes.

Golang se connecte à l'interface Baidu AI pour implémenter la fonction de reconnaissance de carte d'identité, ce qui facilite le démarrage Golang se connecte à l'interface Baidu AI pour implémenter la fonction de reconnaissance de carte d'identité, ce qui facilite le démarrage Aug 26, 2023 am 09:07 AM

Golang se connecte à l'interface Baidu AI pour mettre en œuvre la fonction de reconnaissance de carte d'identité, ce qui facilite le démarrage. Avec le développement rapide de l'intelligence artificielle, de plus en plus de développeurs commencent à prêter attention et à utiliser les services d'IA. La plate-forme ouverte Baidu AI fournit une variété d'interfaces puissantes, notamment des fonctions de reconnaissance de carte d'identité. Cet article expliquera comment utiliser le langage Golang pour se connecter à l'interface Baidu AI afin d'implémenter la fonction de reconnaissance de carte d'identité et fournira un exemple de code pertinent. Tout d'abord, nous devons créer un compte sur la plateforme ouverte Baidu AI et créer une application, obtenir APIKey et Sec

Utilisez le middleware Slim Framework pour réaliser les fonctions de reconnaissance de carte d'identité et de lecture des informations Utilisez le middleware Slim Framework pour réaliser les fonctions de reconnaissance de carte d'identité et de lecture des informations Jul 31, 2023 pm 02:36 PM

Utilisez le middleware Slim Framework pour réaliser les fonctions de reconnaissance de carte d'identité et de lecture d'informations. La carte d'identité est un certificat d'identité important pour les citoyens chinois et contient les informations personnelles du citoyen. Dans de nombreux scénarios d'application, la carte d'identité de l'utilisateur doit être identifiée et lue. Cet article utilisera le middleware du framework Slim pour implémenter un tel module fonctionnel. Tout d’abord, nous devons installer le framework Slim. Exécutez la commande suivante dans le répertoire du projet : composerrequireslim/slim Ensuite, nous créons un fichier appelé IdCard

See all articles