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]=> string(22) "data:image/png;base64," [1]=> string(22) "data:image/png;base64," [2]=> string(3) "png" }