图片与base64的相互转换

图片与base64的相互转换

图片转base64

public function image_change_base64(){
   $image_content = file_get_contents('http://www.test.com/uploads/attach/2021/04/20210419/0422e4d7e912c541de6e3730b632da35.png');
   $image_encode = base64_encode($image_content);
   $image_info = getimagesize($images_url);
   $base64_image_content = "data:{$image_info['mime']};base64,".$image_encode;
   return $base64_image_content;
    }

base64转图片

if(!empty($base64_image_content)){
    preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result);
    $filetype = ['jpg', 'jpeg', 'gif', 'bmp', 'png', 'JPG', 'JPEG', 'GIF', 'BMP', 'PNG'];
    $type = isset($result[2]) ? $result[2]:'';
    if($type && in_array($type,$filetype)){
        //将前面的固定字符串替换为空  将空格替换为原来的加号
        $base_str = str_replace($result[1], '',str_replace(' ','+',$base64_image_content));
        $img_decode = base64_decode($base_str);
        $name = rand(1000,9999) .time().'.'.$type;
        $upload_path = '/upload/'.$upload_type.'/'.$image_type.'/'.date('Ymd',time()).'/';
        $path = dirname(__FILE__, 3).'/public'.$upload_path;
        if (!is_dir($path)){
            mkdir($path,0777,true);
        }
        $full_name = $path.$name;
        $result = file_put_contents($full_name,$img_decode);
        if($result){
            return $full_name;
        }else{
            Log::error('上传图片失败:结果'.$result);
            return false;
        }
    }else{
        Log::error('上传图片类型不合法');
        return false;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值