• 技术文章 >后端开发 >php教程

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

    jacklovejacklove2018-06-22 15:57:50原创1926
    本文通过实例代码给大家讲解了基于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实现防止表单重复提交功能【基于token验证】

    tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例

    PHP实现生成数据字典功能示例

    以上就是通过PHP实现微信小程序人脸识别刷脸登录功能的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:PHP实现防止表单重复提交功能【基于token验证】 下一篇:ThinkPHP框架实现的MySQL数据库备份功能示例
    PHP编程就业班

    相关文章推荐

    • PHP中的日期处理方法集锦_PHP教程• 在PHP中使用灵巧的体系结构_PHP教程• 抓取YAHOO股票报价的类_php技巧• Yii中创建自己的Widget实例_PHP• php短址转换实现方法_PHP

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网