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

    <?php
    //Filetype: JPEG,PNG,GIF 
    
    $file = "encode.jpg"; //$file:图片地址
    if($fp = fopen($file,"rb", 0)) 
    { 
        $gambar = fread($fp,filesize($file)); 
        fclose($fp); 
    
        //获取图片base64 
        $base64 = chunk_split(base64_encode($gambar)); 
        // 输出
        $encode = '<img src="data:image/jpg/png/gif;base64,' . $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==

生成图片增加的图片头信息,所以我们只使用$base64的数据进行拼接

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

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

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