php处理微信小程序wx.uploadFile(OBJECT)发送过来的文件

业务场景:

用户修改自己的头像

问题

1、wx.uploadFile(OBJECT)发送过来的文件type是application/octet-stream,不能简单的从type中获得文件的后缀

解决

1、用move_uploaded_file获得文件的type,并判断后缀名

代码如下:

$tmpP = $_FILES["headimg"]["tmp_name"];
 if($tmpP){
     $type = mime_content_type($tmpP);//获得文件类型
     $p = null;
     if($type=="image/png"){
         $p.=".png";
     }
     elseif($type=="image/gif"){
         $p.=".gif";
     }
     elseif($type=="image/jpeg"){
         $p.=".jpeg";
     }
     elseif($type=="image/bmp"){
         $p.=".bmp";
     }
     elseif($type=="image/x-icon"){
         $p.=".icon";
     }
     if($p){
         $fp =var_upload."/".$tmpname.$p ;
         $logger->info("saveMember>>files>>fp>>".json_encode($fp));
         if (move_uploaded_file ($tmpP, $fp )) {//保存文件
             $var['headimgurl']='upload/'.$tmpname.$p;
         }
     }
 }

你可能感兴趣的:(微信,PHP,php)