PHP 图片与base64相互转换

  •  PHP 将图片转换为 base64 字符串格式:

'; 
    echo $encode; 
}     
?>

 

  • 将base64字符串转换为图片:

//第一个参数图片保存路径以及图片名称 需注意图片后缀 linux请注意文件权限
//第二个参数为图片的base64字符串  ps:下方会贴出图片base64的格式 以及注意事项

file_put_contents('./test_base2.jpg', base64_decode($base64));

 

  • 详解图片base64字符串:

//读取图片数据
$gambar = fread($fp,filesize($file)); 
//获取图片base64 
$base64 = chunk_split(base64_encode($gambar));


//$gambar->读取的是图片的数据流
//$base64->将图片数据流转换为base64

此时获取的图片base64字符串格式为:ps:每张图片获取的数据都是不一样的,这里只是一个例子

/9j/4AAQSkZJRgABAQEAkACQAAD/4QC....此处省略N多字符串......KKKAP/2Q==

以data开头,是展示图片而增加的图片头信息,所以我们只使用`$base64`的数据

data:image/jpg/png/gif;base64,/9j/4AAQSkZJRgABAQEAkACQAAD/4QC....此处省略N多字符串......KKKAP/2Q==

 

此外,我们也可以将一些字符串或者其他数据也追加到图片里面 并保存为图片

$base64 = chunk_split(base64_encode($gambar) .'#'. base64_encode('举个例子')); 
//将需要追加的数据也转换为base64格式,注意 【#】符号

 

你可能感兴趣的:(PHP)