在微信中,有一个小程序的功能为人脸识别,即以照片的形式或者拍照的形式上传,上传到数据库来保存数据,识别时调用数据库中信息,并与其做对比。
一 ,首先添加信息,添加学生基本信息。
public function index($no,$name,$sex,$age){
$data['no']=$no;
$data['name']=$name;
$data['sex']=$sex;
$data['age']=$age;
$id=M('student')->add($data);
if($id){
return $this->ajaxReturn(array('error'=>false,id=>$id));
}else{
return $this->ajaxReturn(array('error'=>true,'msg'=>"添加出错"));
}
}
二,添加完之后,上传文件:
//文件上传
public function upload($id=''){
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->rootPath = './Uploads/'; // 设置附件上传根目录
$upload->savePath = ''; // 设置附件上传(子)目录
// 上传文件
$info = $upload->uploadOne($_FILES['file']);
if(!$info) {// 上传错误提示错误信息
return $this->ajaxReturn(array('error'=>true,'msg'=>$upload->getError()));
}else{// 上传成功
return $this->ajaxReturn(array('error'=>false,'msg'=>$info['savepath'].$info['savename'],'id'=>$id));
}
}
三,上传文件之后,上传图片,与其判断文件是否存在,并与其做对比。
//人脸检测
public function facevalid(){
$token=access_token();
// echo $token;
$file='./Uploads/01.jpeg';
if(!file_exists($file)){
die('文件不存在');
}
$url="https://aip.baidubce.com/rest/2.0/face/v2/detect?access_token=".$token;
$img=file_get_contents($file);
$img=base64_encode($img);
// echo $img;
$bodys=array(
'max_face_num'=>10,
'face_fields'=>'',
'image'=>$img
);
$res= request_post($url,$bodys);
echo $res;
}