php

微擎小程序端上传图片

韩昊杰
2022-12-04 / 0 评论 / 97 阅读 / 正在检测是否收录...

微擎小程序端上传图片

php后端接收图片

public function upload_header_img()
    {
          global $_GPC, $_W;
        $uptypes = array('image/jpg', 'image/jpeg', 'image/png', 'image/pjpeg', 'image/gif', 'image/bmp', 'image/x-png');
        $max_file_size = 10000000; //上传文件大小限制, 单位BYTE
        $send_path = "images/".date('Y-m-d')."/";
        $destination_folder = ATTACHMENT_ROOT.$send_path; //上传文件路径 

        $result = array();
        $result['code'] = 1;
        
        load()->func('file');
        mkdirs($destination_folder);
        
        //fileinfo 检测begin
        /*
        $fip = finfo_open(FILEINFO_MIME_TYPE);
        $min_result = finfo_file($fip , $_FILES['upfile']['tmp_name']);
        fclose( $fip );
        $min_type_arr = array();
        $min_type_arr[] = 'image/jpeg';
        $min_type_arr[] = 'image/gif';
        $min_type_arr[] = 'image/jpg';
        $min_type_arr[] = 'image/png';
        $min_type_arr[] = 'video/mp4';


        if( !in_array($min_result , $min_type_arr ) )
        {
            die();
        }*/
        //fileinfo 检测end
        
        if (!is_uploaded_file($_FILES["upfile"]['tmp_name']))
        //是否存在文件
        {
            $result['msg'] = "图片不存在!";
            echo json_encode($result);
            exit;
        }
        $file = $_FILES["upfile"];
        if ($max_file_size < $file["size"])
        //检查文件大小
        {
            $result['msg'] = "文件太大!";
            echo json_encode($result);
            exit;
        }
        if (!in_array($file["type"], $uptypes))
        //检查文件类型
        {
            $result['msg'] = "文件类型不符!" . $file["type"];
            echo json_encode($result);
            exit;
        }
        
        
        $filename = $file["tmp_name"];
        $pinfo = pathinfo($file["name"]);
        $ftype = $pinfo['extension'];
        
        $file_name = str_shuffle(time() . rand(111111, 999999)) . "." . $ftype;
        $destination = $destination_folder . $file_name;
        
        if (!move_uploaded_file($filename, $destination)) {
            $result['msg'] = "移动文件出错!";
            echo json_encode($result);
            exit;
        }
        $pinfo = pathinfo($destination);
        $fname = $pinfo['basename'];
       
        //6956182894169131.png
    
        $thumb = file_image_thumb_resize($send_path.$file_name,  200);
        $thumb  = str_replace(ATTACHMENT_ROOT , '', $thumb);
    
        
        $image_thumb = tomedia( $thumb );
        $image_o = $send_path.$file_name;
        
        
        
        echo json_encode( array('code' => 0,'image_thumb' => $image_thumb, 'image_o' => $image_o , 'image_o_full' => tomedia($image_o) ) );
        die();
    }

小程序端

wx.uploadFile({
        url: app.util.url('entry/wxapp/index', {
          'm': 'lionfish_comshop',
          'controller': 'user.upload_header_img'
        }),
            filePath: avatarUrl,
            name: 'upfile',
            formData: {
              'name': avatarUrl
            },
            header: {
              'content-type': 'multipart/form-data'
            },
            success: function (res) {
              
              wx.hideLoading();
              var data = JSON.parse(res.data);

              
              // const { image_thumb } = data;

              // console.log(that.data.avatarUrl)
                that.setData({
                  avatarUrl:data.image_thumb,
                })
                // console.log(that.data.avatarUrl)

            }
          })        
0

评论 (0)

取消