PHP前端上传base64位图片方法

2021-10-09   阅读:2326   类型:后端   分类:PHP    标签: PHP

前景:前端发送base64格式的图片给到后端。后端如果用自带的框架上传图片是行不通的,所以博主采用下面的方法进行对base64文件上传处理

PHP版base64位上传函数:

public function base64($file){
  //接收base64数据
  $image= $file;
  //设置图片名称
  $imageName = "25220_".date("His",time())."_".rand(1111,9999).'.png';
  //判断是否有逗号 如果有就截取后半部分
  if (strstr($image,",")){
    $image = explode(',',$image);
    $image = $image[1];
  }
  //设置图片保存路径
  $path = "./uploads/guochaosign/".date("Ymd",time());

  //判断目录是否存在 不存在就创建
  if (!is_dir($path)){
    mkdir($path,0777,true);
  }

  //图片路径
  $imageSrc= $path."/". $imageName;

  //生成文件夹和图片
  $r = file_put_contents($imageSrc, base64_decode($image));
  if (!$r) {
    return '图片生成失败';
  }else {
    return str_replace("./","/",$imageSrc);
  }
}

使用调用方法:

  // 图片上传
  public function uploadImg(){
     //判断是否是POST请求,如果是处理上传逻辑
    if (request()->isPost()){
      //接收文件上传类型
      $namePath = 123;
      //获取表单上传文件
      $file = request()->param('img');
      $src = $this->base64($file);
      if ($src){
        return json(['code'=>1,'msg'=>'上传成功','data'=>['src'=>$src]]);
      }else{
        return json(['code'=>0,'msg'=>'上传失败']);
      }
    }else{
      return json(['code'=>0,'msg'=>'非法请求']);
    }
  }
腾讯云11.11上云拼团Go,2核2G3M云服务器 28元/年

‘简忆博客’微信公众号 扫码关注‘简忆博客’微信公众号,获取最新文章动态
转载:请说明文章出处“来源简忆博客”。http://tpxhm.com/adetail/832.html

×
觉得文章有用就打赏一下文章作者
微信扫一扫打赏 微信扫一扫打赏
支付宝扫一扫打赏 支付宝扫一扫打赏

文章评论(0)

登录
简忆博客壁纸一
简忆博客壁纸二
简忆博客壁纸三
简忆博客壁纸四
简忆博客壁纸五
简忆博客壁纸六
简忆博客壁纸七
简忆博客壁纸八
头像

简忆博客
勤于学习,乐于分享

置顶推荐

打赏本站

如果你觉得本站很棒,可以通过扫码支付打赏哦!
微信扫码:你说多少就多少~
微信扫码
支付宝扫码:你说多少就多少~
支付宝扫码
×