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

 更新时间:2018年05月24日 11:21:12   作者:qq_39946151  
本文通过实例代码给大家讲解了基于PHP实现微信小程序人脸识别刷脸登录功能,感兴趣的朋友跟随脚本之家小编一起学习吧

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

然后我们在后台写刷脸登陆的接口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实现websocket实时消息推送

    php实现websocket实时消息推送

    这篇文章主要为大家详细介绍了php实现websocket实时消息推送,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • PHP 实现手机端APP支付宝支付功能

    PHP 实现手机端APP支付宝支付功能

    最近应业务需求,做了支付宝支付和微信支付,今天分享一下手机端app支付宝支付对接流程,感兴趣的朋友跟随脚本之家小编一起看看吧
    2018-06-06
  • PHP如何初始化PDO及原始SQL语句操作

    PHP如何初始化PDO及原始SQL语句操作

    PDO 已经是 PHP 中操作数据库事实上的标准。包括现在的框架和各种类库,都是以 PDO 作为数据库的连接方式。基本上只有我们自己在写简单的测试代码或者小的功能时会使用 mysqli 来操作数据库。注意,普通的 mysql 扩展已经过时了哦!
    2021-06-06
  • php实现的MySQL通用查询程序

    php实现的MySQL通用查询程序

    php实现的MySQL通用查询程序...
    2007-03-03
  • 让CodeIgniter的ellipsize()支持中文截断的方法

    让CodeIgniter的ellipsize()支持中文截断的方法

    CodeIgniter的Text Helper有一个ellipsize()方法,用来过滤HTML标签并且截断文字十分好用。但是它对中文支持的特别不好,在中文中使用就有乱码出现。这篇文章主要介绍了让CodeIgniter的ellipsize()支持中文截断的方法,需要的朋友可以参考下
    2014-06-06
  • ThinkPHP内置jsonRPC的缺陷分析

    ThinkPHP内置jsonRPC的缺陷分析

    这篇文章主要介绍了ThinkPHP内置jsonRPC的缺陷,以实例形式详细分析了ThinkPHP内置jsonRPC校验的缺陷与解决方法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • phpstorm动态调试环境部署过程

    phpstorm动态调试环境部署过程

    这篇文章主要介绍了php代码审计phpstorm动态调试的过程,xdebug调试调试环境部署的操作过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • [转帖]PHP世纪万年历

    [转帖]PHP世纪万年历

    [转帖]PHP世纪万年历...
    2006-12-12
  • thinkPHP模板中函数的使用方法示例

    thinkPHP模板中函数的使用方法示例

    这篇文章主要介绍了thinkPHP模板中函数的使用方法,结合实例形式对比分析了php函数的单独使用与thinkPHP模板中php函数的相应使用技巧,需要的朋友可以参考下
    2016-11-11
  • DEDE实现转跳属性文档在模板上调用出转跳地址

    DEDE实现转跳属性文档在模板上调用出转跳地址

    这篇文章主要介绍了DEDE实现转跳属性文档在模板上调用出转跳地址,有需要的朋友可以参考一下。
    2016-11-11

最新评论