人脸采集(上传图片)

最近一直在做人脸采集,上传图片。虽然中间有一些小错误,但是都可以通过别人和老师的帮忙,勉强做出来。

public function upload($id=''){
      $no = M('student')->where("id={$id}")->getField('no');
      $dir = "./Uploads/";//上传文件路径
      $upload = new \Think\Upload();// 实例化上传类
      $upload->maxSize = 2048000 ;// 设置附件上传大小
      $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
      $upload->saveName = $no;
      $upload->replace = true;
      $upload->autoSub = false;
      $upload->rootPath = $dir; // 设置附件上传根目录
      // 上传单个文件
      $info = $upload->uploadOne($_FILES['file']);
      if(!$info) {// 上传错误提示错误信息
          return $this->ajaxReturn(array('error'=>true,'msg'=>$upload->getError()));
      }else{// 上传成功 获取上传文件信息
        $file = $dir . $info['savepath'].$info['savename'];
        $image = base64_encode(file_get_contents($file));
        $this->facevalid($no,$image);  
        $m = M('image');
        $data = $m->where("no='{$no}'")->find();
        if($data){
          // 有数据,更新
          $m->where("no='{$no}'")->save(array('base64'=>$image,'path'=>$file));
          M('student')->where("no='{$no}'")->save(array('path'=>$file));
        }else{
          // 无数据,添加
          $m->add(array('no'=>$no,'base64'=>$image,'path'=>$file,'guid'=>myguid()));
          M('student')->where("no='{$no}'")->save(array('path'=>$file));
        }
        return $this->ajaxReturn(array('error'=>false,'msg'=>'图像采集成功'));
      }

    }

不太熟练,我觉得可以都做一些这种类型的东西,熟能生巧!

你可能感兴趣的:(学习)