从 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中文网其他相关文章!