php 图片与base64互转

 

header('Content-type:text/html;charset=utf-8');
//读取图片文件,转换成base64编码格式
$image_file = '1.png';
$image_info = getimagesize($image_file);

// $base64_image_content = "data:{$image_info[‘mime‘]};base64," . chunk_split(base64_encode(file_get_contents($image_file)));
$base64_image_content = "data:{$image_info['mime']};base64," . base64_encode(file_get_contents($image_file));


// 保存base64字符串为图片
// 匹配出图片的格式
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){
    var_dump($result);
    $type = $result[2];
    $new_file = "./test.{$type}";
    if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){
        echo '<img src='.$new_file.'>';
    }

}

注:preg_match 如果匹配成功 $result

array(3) {
  [0]=&gt;
  string(22) "data:image/png;base64,"
  [1]=&gt;
  string(22) "data:image/png;base64,"
  [2]=&gt;
  string(3) "png"
}

 

posted @ 2019-05-10 17:04  柔和的天空  阅读(600)  评论(0编辑  收藏  举报