PHP已知图片base64流上传到服务器

Posted 人在钱途

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP已知图片base64流上传到服务器相关的知识,希望对你有一定的参考价值。

<?php
   $img=$_POST[‘basefile‘];
   $data=saveBase64Image($img);
   var_dump($data);


/**
 * 保存64位编码图片
 */

function saveBase64Image($base64_image_content){

  if (preg_match(‘/^(data:s*image/(w+);base64,)/‘, $base64_image_content, $result)){

            //图片后缀
            $type = $result[2];
            if($type==‘jpeg‘){
                  $type=‘jpg‘;
            }

            //保存位置--图片名
            $image_name=date(‘His‘).str_pad(mt_rand(1, 99999), 5, ‘0‘, STR_PAD_LEFT).".".$type;
            $image_url = ‘upload/‘.date(‘Ymd‘).‘/‘.$image_name;           
            if(!is_dir(dirname(‘./‘.$image_url))){
                   mkdir(dirname(‘./‘.$image_url));
                   chmod(dirname(‘./‘.$image_url), 0777);
                  // umask($oldumask);

            }
           
            //解码
            $decode=base64_decode(str_replace($result[1], ‘‘, $base64_image_content));
            if (file_put_contents(‘./‘.$image_url, $decode)){
                  $data[‘code‘]=‘0‘;
                  $data[‘imageName‘]=$image_name;
                  $data[‘image_url‘]=$image_url;
                  $data[‘type‘]=$type;
                  $data[‘msg‘]=‘保存成功!‘;
            }else{
              $data[‘code‘]=‘1‘;
              $data[‘imgageName‘]=‘‘;
              $data[‘image_url‘]=‘‘;
              $data[‘type‘]=‘‘;
              $data[‘msg‘]=‘图片保存失败!‘;
            }
  }else{
      $data[‘code‘]=‘1‘;
      $data[‘imgageName‘]=‘‘;
      $data[‘image_url‘]=‘‘;
      $data[‘type‘]=‘‘;
      $data[‘msg‘]=‘base64图片格式有误!‘;


  }       
  return $data;


}

 

以上是关于PHP已知图片base64流上传到服务器的主要内容,如果未能解决你的问题,请参考以下文章

将图像(base64 字符串)作为文件流上传到 Web API

将图片二进制流上传到服务器

使用 phonegap 将文件作为流上传到 cloudinary

图片通过ajax传到后台再传到word中,再生成word,但是显示的是经过base_64编码的内容,怎么办呢?

vue 上传图片时 base64 怎么传到java后台

怎么才能将文件流或者图片转化为base64,传到前台展示