百度AI链接:https://ai.baidu.com
- 注册百度AI的账户、完善百度AI账户中的应用信息等。
- 下载对应的SDK(本文以PHP为例)
下载完成后 将文件放置在自己的项目中。
本文目录结构如上图所示。
3.创建AipOcr.php(自定义)
<?php
/**
* Created by PhpStorm.
* User: timkj
* Date: 2019/5/19
* Time: 下午4:22
*/
require_once 'class/AipOcr.php';
// 你的 APPID AK SK
const APP_ID = '';
const API_KEY = '';
const SECRET_KEY = '';
$client = new AipOcr(APP_ID, API_KEY, SECRET_KEY);
//print_r($_POST);
//print_r($_FILES);
//对上传文件大小 类型进行限制
if($_FILES["file"]["error"])
{
echo $_FILES["file"]["error"];
}else{
if((
$_FILES["file"]["type"]=="image/png"
||$_FILES["file"]["type"]=="image/jpeg"
||($_FILES['file']['type']=="image/jpg")
||($_FILES['file']['type']=="image/x-png")
)&&$_FILES["file"]["size"]<2048000) //小于两兆 且文件类型为png 或 jpeg
{
//获取缓存文件 将缓存文件上传到API进行验证 返回成功 进行文件复制
$image = file_get_contents($_FILES["file"]["tmp_name"]);
$idCardSide = "front";
$a = $client->idcard($image, $idCardSide);
//print_r($a);
if ($a['image_status']=='normal'){
//print_r('进入存储图片环节');
//判断图片检测正常! 将缓存文件 调整到 文件中
$path .= '../../idcard/'.date('Ymd',time());
if(!file_exists($path))//文件夹不存在,先生成文件夹
{
mkdir($path,0777,true);
}
$file_name=date('YmdHis',time()).mt_rand(1000,9999);
move_uploaded_file($_FILES['file']['tmp_name'], $path . "/" . $file_name .$_FILES['file']['name']);
echo '上传成功|' . $path . "/" .$file_name .$_FILES['file']['name'];
}else{
echo '识别失败';
}
}else{
print_r('{image_status":"fileerror"}');
}
}
前端调用AipOcr.php方式:
使用Form表单直接提交File即可。
当证件识别成功才会将缓存文件复制到指定的文件夹。