PHP实现微信小程序人脸识别刷脸登录功能


Posted in PHP onMay 24, 2018

首先我们先确认我们的百度云人脸库里已经上传了我们的个人信息照片

然后我们在后台写刷脸登陆的接口login我们要把拍照获取的照片存储到服务器

public function login(){ 
   // 上传文件路径 
   $dir = "./Uploads/temp/"; 
   if(!file_exists($dir)){ 
    mkdir($dir,0777,true); 
   } 
   $upload = new \Think\Upload(); 
   $upload->maxSize = 2048000 ;// 设置附件上传大小 
   $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型 
   $upload->savepath = ''; 
   $upload->autoSub = false; 
   $upload->rootPath = $dir; // 设置附件上传根目录 
   // 上传单个文件 
   $info = $upload->uploadOne($_FILES['file']); 
   if(!$info) {// 上传错误提示错误信息 
     echo json_encode(array('error'=>true,'msg'=>$upload->getError()),JSON_UNESCAPED_UNICODE); 
   }else{// 上传成功 获取上传文件信息 
    $file = $dir . $info['savepath'].$info['savename']; 
    $image = base64_encode(file_get_contents($file)); 
    $client = $this->init_face(); 
    $options['liveness_control'] = 'NORMAL'; 
    $options['max_user_num'] = '1'; 
    $ret = $client->search($image,'BASE64','student',$options); 
    // echo json_encode($ret,JSON_UNESCAPED_UNICODE); 
    // exit; 
    if($ret['error_code']==0){ 
     $user = $ret['result']['user_list'][0]; 
     $no = $user['user_id']; 
     $score = $user['score']; 
     if($score>=95){ 
      $data = M('student')->where("no = '{$no}'")->find(); 
      $data['score'] = $score; 
      // $data['name'] = json_decode($data['name'],true); 
      // $data['sex'] = json_decode($data['sex'],true); 
      echo '识别成功' . json_encode($data,JSON_UNESCAPED_UNICODE); 
     }else{ 
      echo '识别失败' . $data['score']; 
     } 
    } 
   } 
  }

然后进行前台设计

<camera device-position="{{device?'back':'front'}}" flash="off" binderror="error" style="width: 100%; height: 300px;"></camera> 
    <view class="weui-cells__title" >开关</view> 
    <view class="weui-cells weui-cells_after-title"> 
      <view class="weui-cell weui-cell_switch"> 
        <view class="weui-cell__bd">切换摄像头</view> 
        <view class="weui-cell__ft" > 
          <switch bindtap="devicePosition" /> 
        </view> 
      </view> 
    </view> 
<button type="primary" bindtap="takePhoto">刷脸登录</button>

我们还可以控制相机的前后镜头

devicePosition() { 
this.setData({ 
 device: !this.data.device, 
}) 
console.log("当前相机摄像头为:", this.data.device ? "后置" : "前置"); 
camera() { 
 let { ctx, type, startRecord } = this.data; }, 
data: { 
 src: null, 
},

在js里面调用接口

takePhoto() { 
   const ctx = wx.createCameraContext() 
   ctx.takePhoto({ 
    quality: 'high', 
    success: (res) => { 
     this.setData({ 
      src: res.tempImagePath 
     }) 
     console.log(res) 
     wx.uploadFile({ 
      url: '', //仅为示例,非真实的接口地址 
      filePath: this.data.src, 
      name: 'file', 
      formData: { 
      }, 
      success: function (res) { 
       // var data = res.data 
       // var json = JSON.parse(data) 
       console.log(res) 
       wx.showModal({ 
        title: "提示", 
        content: res.data, 
        showCancel: false, 
        confirmText: "确定" 
       }) 
      } 
     }) 
    } 
   }) 
  },

刷脸登录就成功了

总结

以上所述是小编给大家介绍的PHP实现微信小程序人脸识别刷脸登录,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP脚本的10个技巧(4)
Oct 09 PHP
不用数据库的多用户文件自由上传投票系统(3)
Oct 09 PHP
php session 错误
May 21 PHP
php通过数组实现多条件查询实现方法(字符串分割)
May 06 PHP
支付宝接口开发集成支付环境小结
Mar 17 PHP
php实现微信公众平台账号自定义菜单类
Oct 11 PHP
PHP获取二维数组中某一列的值集合
Dec 25 PHP
php 指定范围内多个随机数代码实例
Jul 18 PHP
详解PHP中websocket的使用方法
Sep 15 PHP
PHP绕过open_basedir限制操作文件的方法
Jun 10 PHP
php简单检测404页面的方法示例
Aug 23 PHP
PHP实现倒计时功能
Nov 16 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
May 24 #PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
May 24 #PHP
PHP实现一维数组与二维数组去重功能示例
May 24 #PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
May 23 #PHP
yii2安装详细流程
May 23 #PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
May 23 #PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
May 23 #PHP
You might like
linux php mysql数据库备份实现代码
2009/03/10 PHP
laravel安装和配置教程
2014/10/29 PHP
修改WordPress中文章编辑器的样式的方法详解
2015/12/15 PHP
php curl 模拟登录并获取数据实例详解
2016/12/22 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
JS实现为表格动态添加标题的方法
2015/03/31 Javascript
jQuery实现淡入淡出二级下拉导航菜单的方法
2015/08/28 Javascript
JS+HTML5实现的前端购物车功能插件实例【附demo源码下载】
2016/10/17 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
详解EasyUi控件中的Datagrid
2017/08/23 Javascript
angular指令笔记ng-options的使用方法
2017/09/18 Javascript
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
JQuery基于FormData异步提交数据文件
2020/09/01 jQuery
原生js实现弹窗消息动画
2020/11/20 Javascript
Python基于DES算法加密解密实例
2015/06/03 Python
Python实现对象转换为xml的方法示例
2017/06/08 Python
Python生成数字图片代码分享
2017/10/31 Python
对python .txt文件读取及数据处理方法总结
2018/04/23 Python
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
使用Python实现 学生学籍管理系统
2019/11/26 Python
TensorFlow tf.nn.conv2d实现卷积的方式
2020/01/03 Python
Python requests.post方法中data与json参数区别详解
2020/04/30 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
amazeui页面校验功能的实现代码
2020/08/24 HTML / CSS
美国在线乐器和设备商店:Musician’s Friend
2018/07/06 全球购物
会计专业大学生职业生涯规划范文
2014/01/11 职场文书
模范教师事迹材料
2014/02/10 职场文书
高三高考决心书
2014/03/11 职场文书
计算机专业自荐信
2014/05/24 职场文书
领导班子四风表现材料
2014/08/23 职场文书
大学运动会加油稿200字(5篇)
2014/09/27 职场文书
2016年秋季趣味运动会开幕词
2016/03/04 职场文书
拥有这5个特征人,“命”都不会太差
2019/08/16 职场文书
导游词之河北野三坡
2019/12/11 职场文书
Django开发RESTful API实现增删改查(入门级)
2021/05/10 Python
基于flask实现五子棋小游戏
2021/05/25 Python