是否有可能找出在PHP中编码为base64字符串的图像类型?
我没有访问原始图像文件的方法,只有编码的字符串.从我所看到的,imagecreatefromstring()可以从字符串表示(从base64解码后)创建图像资源,但它自动检测图像类型,图像资源本身是一个特殊的PHP表示.如果我想再次将图像保存为文件,我不知道我保存的类型是否与创建字符串表示的原始类型相对应.
这是我的代码:
$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
. 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
. 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
. '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';
$data = base64_decode($data);
$im = imagecreatefromstring($data);
if ($im !== false) {
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
}
else {
echo 'An error occurred.';
}
Run Code Online (Sandbox Code Playgroud)
我想将以这种方式生成的图像保存到目录中.我该怎么做呢?