注册百度OCR https://ai.baidu.com/tech/ocr_cards/idcard
创建应用
领取免费资源
上传插件到plugins安装
配置插件
域名+plugin/ocr_card/ApiIndex/index
图片参数:file
参数:card_type:{银行卡bankcard;营业执照businessLicense;名片business_card;护照passport}
身份证多传一个参数:identity_type:上传身份证含照片的一面-back:身份证带国徽的一面
控制器使用:
use plugins\ocr_card\OcrCardPlugin;
public function test_ocr() { $param = $this->request->param(); //识别类型 date_default_timezone_set("Asia/Shanghai"); //设置时区 if (is_uploaded_file($_FILES['file']['tmp_name'])) { //把文件转存到你希望的目录(不要使用copy函数) $uploaded_file = $_FILES['file']['tmp_name']; //我们给每个用户动态的创建一个文件夹 $user_path = CMF_ROOT . "/public/upload/baiduocr/"; //判断该用户文件夹是否已经有这个文件夹 if (!file_exists($user_path)) { mkdir($user_path); } $file_true_name = $_FILES['file']['name']; $move_filename = time() . rand(1, 1000) . "-" . date("Y-m-d") . substr($file_true_name, strrpos($file_true_name, ".")); $move_to_file = $user_path . "/" . $move_filename; if (move_uploaded_file($uploaded_file, iconv("utf-8", "gb2312", $move_to_file)) && $param['card_type']) { $client = new OcrCardPlugin(); $image = file_get_contents($move_to_file); $data['card_detail'] = $client->baidu_ocr_api($image,$param); // 返回识别内容 $data['image_url'] = '/upload/baiduocr/' . $move_filename; //返回图片地址 $this->success("上传成功!", $data); } else { $this->error("上传失败,请重试!"); } } else { $this->success("上传失败,请重试!"); } }
ThinkCMF模板插件交流群:550851374 ,领取阿里云1000通用代金券