图片与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;
}
}