首页  >  文章  >  后端开发  >  如何在 PHP 中根据 Base64 字符串确定图像类型?

如何在 PHP 中根据 Base64 字符串确定图像类型?

Linda Hamilton
Linda Hamilton原创
2024-10-24 03:56:02837浏览

How to Determine Image Type from Base64 String in PHP?

从 PHP 中的 Base64 字符串确定图像类型

确定 PHP 中编码为 Base64 字符串的图像的文件类型是否可行?不幸的是,仅拥有编码字符串对获取图像的原始文件类型提出了挑战。要破译图像类型,可以使用 imagecreatefromstring() 函数,该函数会生成图像资源。然而,该资源在 PHP 中拥有专门的表示形式,掩盖了原始图像类型。

幸运的是,PHP FileInfo 扩展提供了一个解决方案。此扩展提供了一种简单的方法来确定二进制数据的文件类型,包括 base64 编码的字符串。它的工作原理如下:

<code class="php">$encoded_string = "....";
$imgdata = base64_decode($encoded_string);

$f = finfo_open();

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

此代码片段解码 Base64 编码的字符串,打开 FileInfo 资源,并使用 finfo_buffer() 函数获取文件类型。生成的 $mime_type 变量将包含文件类型,例如“image/jpeg”或“image/png”。有了这些信息,您无需事先知道即可确定原始文件类型,并将图像保存为适当的文件类型。

以上是如何在 PHP 中根据 Base64 字符串确定图像类型?的详细内容。更多信息请关注PHP中文网其他相关文章!

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