php身份证识别ORC的方法实现
这篇文章主要介绍了关于php身份证识别ORC的方法实现,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
先创建一个html,并以json格式传输到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) === 'undefined' ){ result.innerHTML = "抱歉,你的浏览器不支持 FileReader,请使用现代浏览器操作!"; input.setAttribute('disabled','disabled'); }else{ input.addEventListener('change',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 = '<p class="sitetip">图片img标签展示:</p><img src="'+this.result+'" alt=""/>'; } } </script> </head> <body> <form action="upload.php" method="post"> <input type="file" value="sdgsdg" id="demo_input" /> <textarea style='display: none;' name="img" id="result" rows=30 cols=300></textarea> <p id="img_area"></p> <input type="submit" value="提交"> </form> </body> </html>
再创建个upload.php
<?php header("Content-Type: text/html; charset=UTF-8"); /** * base64图片上传 * @param $base64_img * @return array */ $base64_img = trim($_POST['img']); $up_dir = 'upload/';//存放在当前目录的upload文件夹下 $fi_dir = 'ok_upload/';//存放在当前目录的upload文件夹下 if(!file_exists($up_dir)){ mkdir($up_dir,0777); } if(preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_img, $result)){ $type = $result[2]; if(in_array($type,array('pjpeg','jpeg','jpg','gif','bmp','png'))){ $new_file = $up_dir.date('YmdHis_').'.'.$type; if(file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_img)))){ $img_path = str_replace('../../..', '', $new_file); $path = 'upload/'; $data = file_get_contents($img_path); $base64 = base64_encode($data); $appkey = 'LzJu1grfwH6UaDX2'; $params = array( 'app_id' => '1106920947', 'image' => $base64, 'card_type' => '0', 'time_stamp' => strval(time()), 'nonce_str' => strval(rand()), 'sign' => '', ); $params['sign'] = getReqSign($params, $appkey); // 执行API调用 $url = 'https://api.ai.qq.com/fcgi-bin/ocr/ocr_idcardocr';//身份证识别OCR $response = doHttpPost($url, $params); echo $response;die; $arr = json_decode($response,true); $photo = base64_decode($arr['data']['image']); if(!file_exists($fi_dir)){ mkdir($fi_dir,0777); } $type = 'jpg'; if(in_array($type,array('pjpeg','jpeg','jpg','gif','bmp','png'))){ $new_file = $fi_dir.date('YmdHis_').'.'.$type; if(file_put_contents($new_file, str_replace($result[1], '', $photo))){ $img_paths = str_replace('../../..', '', $new_file); echo '图片处理成功</br><img src="' .$img_paths. '">'; }else{ echo '图片处理失败</br>'; } } }else{ echo '图片上传失败</br>'; } }else{ //文件类型错误 echo '图片上传类型错误'; } }else{ //文件错误 echo '文件错误'; }
// getReqSign :根据 接口请求参数 和 应用密钥 计算 请求签名 // 参数说明 // - $params:接口请求参数(特别注意:不同的接口,参数对一般不一样,请以具体接口要求为准) // - $appkey:应用密钥 // 返回数据 // - 签名结果 function getReqSign($params /* 关联数组 */, $appkey /* 字符串*/) { // 1. 字典升序排序 ksort($params); // 2. 拼按URL键值对 $str = ''; foreach ($params as $key => $value) { if ($value !== '') { $str .= $key . '=' . urlencode($value) . '&'; } } // 3. 拼接app_key $str .= 'app_key=' . $appkey; // 4. MD5运算+转换大写,得到请求签名 $sign = strtoupper(md5($str)); return $sign; }
// 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( 'Content-Type: application/x-www-form-urlencoded' ); 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; }
这样就能识别身份证上的信息了
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
php 通过html-table形式完成excel下载的功能实现
Atas ialah kandungan terperinci php身份证识别ORC的方法实现. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Golang menyambung ke antara muka AI Baidu untuk melaksanakan fungsi pengecaman kad ID Prakata Mula Pantas Dengan pembangunan kecerdasan buatan, antara muka AI semakin digunakan dalam pelbagai bidang. Platform terbuka AI Baidu menyediakan antara muka AI yang kaya dan menyediakan pembangun cara yang mudah untuk melaksanakan pelbagai fungsi. Artikel ini akan memperkenalkan cara menggunakan Golang untuk menyambung ke antara muka Baidu AI untuk merealisasikan fungsi pengecaman kad ID. 1. Daftar akaun platform terbuka Baidu AI Pertama, kita perlu mendaftar akaun pada platform terbuka Baidu AI dan membuat aplikasi. Buka

UniApp ialah rangka kerja pembangunan aplikasi merentas platform berdasarkan Vue.js Dengan menggunakan UniApp, anda boleh membangunkan aplikasi dengan cepat untuk berbilang platform (termasuk iOS, Android, H5, dll.). Dalam aplikasi praktikal, pengecaman kad ID dan pengesahan dokumen adalah keperluan yang sangat biasa Artikel ini akan memperkenalkan cara melaksanakan pengecaman kad ID dan pengesahan dokumen dalam aplikasi UniApp, dan memberikan contoh kod khusus. 1. Pengecaman kad pengenalan Pengecaman kad ID merujuk kepada mengekstrak maklumat daripada foto kad pengenalan yang diambil oleh pengguna, yang biasanya termasuk

Cara menggunakan PHP untuk memanggil kamera untuk pengecaman kad ID Dengan perkembangan teknologi yang berterusan, pengecaman kad ID telah menjadi keperluan biasa dalam banyak bidang aplikasi. Pada masa lalu, kami biasanya perlu memasukkan maklumat secara manual seperti nombor ID, tetapi kini, menggunakan kamera untuk mengenal pasti kad ID telah menjadi cara yang lebih mudah dan cekap. Artikel ini akan memperkenalkan cara menggunakan PHP untuk memanggil kamera untuk pengecaman kad ID dan melampirkan contoh kod yang sepadan. Pertama, kami perlu memastikan bahawa PHP dipasang pada sistem kami. Sebelum kita mula, kita juga perlu memasang a

Cara menggunakan uniapp untuk membangunkan fungsi pengecaman kad ID Pengenalan: Pengecaman kad ID adalah fungsi yang sangat penting dalam bidang aplikasi mudah alih Ia boleh menghuraikan maklumat pada kad ID secara automatik selepas pengguna mengambil gambar kad pengenalan. Artikel ini akan memperkenalkan cara menggunakan uniapp untuk membangunkan fungsi pengecaman kad ID dan melampirkan contoh kod untuk membantu pembangun melaksanakan fungsi ini dengan cepat. 1. Kerja penyediaan: Sebelum menggunakan uniapp untuk membangunkan fungsi pengecaman kad ID, kami perlu menyelesaikan kerja penyediaan berikut: API pengecaman kad ID: Kami boleh memilih beberapa pihak ketiga

Bagaimana untuk menggunakan PHP dan Alibaba Cloud OCR untuk mengenal pasti maklumat kad ID yang sudah lama tidak dikemas kini? Pengenalan: Dengan perkembangan pesat sains dan teknologi serta kedatangan era digital, semakin ramai orang memberi perhatian kepada cara menggunakan cara teknikal untuk meningkatkan kecekapan pengenalan dan ketepatan maklumat kad pengenalan. Alibaba Cloud OCR (Optical Character Recognition) ialah perkhidmatan kecerdasan buatan yang berkuasa yang boleh menukar kandungan dokumen kertas seperti kad ID kepada teks digital melalui teknologi pengecaman imej, meningkatkan kelajuan dan ketepatan pemprosesan data.

Golang bersambung ke antara muka AI Baidu untuk melaksanakan fungsi pengecaman kad ID, menjadikannya mudah untuk bermula Dengan perkembangan pesat kecerdasan buatan, semakin ramai pembangun mula memberi perhatian dan menggunakan perkhidmatan AI. Platform terbuka Baidu AI menyediakan pelbagai antara muka yang berkuasa, termasuk fungsi pengecaman kad ID. Artikel ini akan memperkenalkan cara menggunakan bahasa Golang untuk menyambung ke antara muka AI Baidu bagi melaksanakan fungsi pengecaman kad ID dan menyediakan kod sampel yang berkaitan. Pertama, kita perlu mendaftar akaun pada platform terbuka Baidu AI dan membuat aplikasi, mendapatkan APIKey dan Sec

1. Langkah pertama untuk membuka akaun mata wang digital ialah memilih pertukaran yang sesuai untuk membuka akaun Pengguna perlu mempertimbangkan faktor seperti yuran transaksi, populariti, dan keselamatan adalah disyorkan untuk menggunakan pertukaran yang terkenal seperti Binance. Huobi dan OKEx. 2. Pergi ke laman web rasmi bursa, klik butang [Daftar], dan isikan maklumat peribadi (seperti alamat e-mel, nama pengguna dan kata laluan). 3. Pengesahan identiti: Kebanyakan pertukaran menyediakan dua kaedah pengesahan identiti: pengecaman kad pengenalan dan pengecaman muka Pengguna boleh mengikut gesaan untuk melengkapkan pengesahan identiti. 4. Ikat kad bank: Adalah disyorkan bahawa pengguna menyemak maklumat yang berkaitan dengan teliti.

Gunakan perisian tengah rangka kerja Slim untuk merealisasikan fungsi pengecaman dan membaca maklumat kad ID Kad pengenalan adalah sijil pengenalan penting untuk warganegara China, dan ia membawa maklumat peribadi warganegara. Dalam banyak senario aplikasi, kad ID pengguna perlu dikenal pasti dan dibaca. Artikel ini akan menggunakan perisian tengah rangka kerja Slim untuk melaksanakan modul berfungsi sedemikian. Pertama, kita perlu memasang rangka kerja Slim. Jalankan arahan berikut dalam direktori projek: composerrequireslim/slim Seterusnya, kami mencipta fail yang dipanggil IdCard
