【问题标题】:Get image information from base64 encoded string从base64编码的字符串中获取图像信息
【发布时间】:2017-07-18 04:18:10
【问题描述】:

我有 base64 编码的字符串(从图像编码)。

$str = "......";

问:如何获取编码后的图像信息?

喜欢,

1) 图片名称。

2) MIME 类型。

3) 图片扩展。

4) 图像大小。

我尝试使用this url 的以下代码,但它只提供 MIME 类型而不提供其他信息。

$encoded_string = "....";
$imgdata = base64_decode($encoded_string);

$f = finfo_open();

$mime_type = finfo_buffer($f, $imgdata, FILEINFO_MIME_TYPE);

非常感谢。

【问题讨论】:

  • 投反对票请解释问题是什么而不是投反对票?

标签: php base64 fileinfo


【解决方案1】:

您可以使用 PHP 的 getimagesizefromstring 函数获取有关图像的信息。

$encoded_string = "....";
$imgdata = base64_decode($encoded_string);

$data = getimagesizefromstring($imgdata);
print_r($data);

// outputs something like this
Array
(
    [0] => 544
    [1] => 184
    [2] => 3
    [3] => width="544" height="184"
    [bits] => 8
    [mime] => image/png
)

1) Base 64 编码图像没有文件名

2) mime 类型在mime 键中给出,而2 键包含IMAGETYPE_ 常量之一

3) 您可以使用image_type_to_extension($data[2]) 为 mime 类型获取正确的图像扩展名

4) 图像宽度在键 0 中,图像高度在键 1 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多