首页  >  文章  >  后端开发  >  如何使用 FileInfo 从 PHP 中的 Base64 编码字符串中提取图像类型?

如何使用 FileInfo 从 PHP 中的 Base64 编码字符串中提取图像类型?

Susan Sarandon
Susan Sarandon原创
2024-10-23 21:57:02820浏览

How to Extract Image Type from Base64-Encoded String in PHP Using FileInfo?

在 PHP 中从 Base64 字符串检测图像类型

人们可能会遇到对原始图像文件的访问受到限制,只留下一个 Base64 的情况- 编码字符串表示形式。从这样的字符串确定图像类型可能具有挑战性。虽然 imagecreatefromstring() 函数从解码的字符串创建图像资源,但它隐藏了原始图像类型信息。

解决方案:利用 FileInfo

FileInfo 提供了一个可行的解决方案对于这个问题。通过使用其 finfo_buffer() 方法,可以直接从 Base64 解码的字符串中检索图像的 MIME 类型。该方法有两个参数:一个打开的文件句柄(使用 finfo_open() 获得)和原始图像数据。

示例代码:

<code class="php">// Encoded base64 string
$encoded_string = "....";

// Decode the string
$imgdata = base64_decode($encoded_string);

// Open FileInfo handle
$f = finfo_open();

// Determine MIME type
$mime_type = finfo_buffer($f, $imgdata, FILEINFO_MIME_TYPE);</code>

$mime_type变量现在将包含图像的 MIME 类型,例如“image/jpeg”或“image/png”。然后可以使用此信息来确定用于保存图像的适当文件扩展名。

以上是如何使用 FileInfo 从 PHP 中的 Base64 编码字符串中提取图像类型?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn