這篇文章主要介紹了關於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="/static/imghwm/default1.png" data-src="'+this.result+'" class="lazy" 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="/static/imghwm/default1.png" data-src="' .$img_paths. '" class="lazy" alt="php身份證識別ORC的方法實現" >'; }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下載的功能實作
以上是php身份證識別ORC的方法實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Golang对接百度AI接口实现身份证识别功能,快速入门序言随着人工智能的发展,AI接口在各个领域的应用越来越广泛。百度AI开放平台提供了丰富的AI接口,为开发者提供了一种便捷的方式来实现各种功能。本文将介绍如何使用Golang对接百度AI接口,实现身份证识别功能。一、注册百度AI开放平台账号首先,我们需要在百度AI开放平台上注册一个账号并创建一个应用。打开

UniApp是一种基于Vue.js的跨平台应用开发框架,通过使用UniApp可以快速开发适用于多个平台(包括iOS、Android、H5等)的应用程序。在实际应用中,身份证识别和证件认证是很常见的需求,本文将介绍如何在UniApp应用中实现身份证识别和证件认证,并给出具体的代码示例。一、身份证识别身份证识别是指将用户拍摄的身份证照片中的信息提取出来,通常包括

如何利用PHP调用摄像头进行身份证识别随着科技的不断发展,身份证识别已经成为了许多应用领域的常见需求。在过去,我们通常需要手动输入身份证号码等信息,而现在,利用摄像头进行身份证识别已经成为了一种更为便捷和高效的方式。本文将介绍如何利用PHP调用摄像头进行身份证识别,并附上相应的代码示例。首先,我们需要确保我们的系统上安装了PHP。在开始之前,我们还需要安装一

如何使用uniapp开发身份证识别功能引言:身份证识别是移动应用领域中一项非常重要的功能,它可以在用户拍摄身份证照片后,自动解析出身份证上的信息。本文将介绍如何使用uniapp开发身份证识别功能,并附上代码示例,帮助开发者快速实现这一功能。一、准备工作:在使用uniapp开发身份证识别功能之前,我们需要完成以下准备工作:身份证识别API:我们可以选择一些第三

如何使用PHP和阿里云OCR识别长久不更新的身份证信息?引言:随着科技的快速发展和数字化时代的到来,越来越多的人开始关注如何利用技术手段来提高身份证信息的识别效率和准确性。阿里云OCR(OpticalCharacterRecognition)是一种强大的人工智能服务,能够通过图像识别技术将身份证等纸质证件内容转换为数字化文本,大大提高了数据处理的速度和准

Golang对接百度AI接口实现身份证识别功能,轻松上手随着人工智能的快速发展,越来越多的开发者开始关注和利用AI服务。百度AI开放平台提供了各种功能强大的接口,其中包括了身份证识别功能。本文将介绍如何使用Golang语言对接百度AI接口实现身份证识别功能,并提供相关示例代码。首先,我们需要在百度AI开放平台注册账号并创建一个应用,获得APIKey和Sec

1、数字货币开户的第一步是选择一家合适的交易所开户,用户需要考虑交易费用、知名度、安全性等因素,推荐使用Binance、Huobi、OKEx等知名交易所。2、前往交易所官方网站,点击【注册】按钮,填写个人信息(如邮箱地址、用户名和密码)。3、身份验证:大多数交易所提供两种身份验证方式:身份证识别和人脸识别,用户可以按提示来完成身份验证。4、绑定银行卡:建议用户仔细核对相关信息,

使用Slim框架中间件实现身份证识别和读取信息的功能身份证是中国公民的重要身份证明,它承载着公民的个人信息。在许多应用场景中,需要对用户的身份证进行识别和读取。本文将使用Slim框架的中间件来实现这样一个功能模块。首先,我们需要安装Slim框架。在项目目录下执行以下命令:composerrequireslim/slim接下来,我们创建一个名为IdCard


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版
SublimeText3 Linux最新版