我将图像存储在BLOB Oracle列中。当我尝试阅读它时,我发现BLOB字符串中的第一个字符是我的图像类型(例如PNG,但被许多加密(或二进制)字符包围)。这意味着我也存储了我的图像类型。那么,如何通过PHP代码检测它?
这是我的第一个BLOB字符串看起来像:
'�PNG
答案 0 :(得分:2)
作为zerkms wrote,这是文件格式标题的一部分。它提供有关文件的元数据,以便程序知道如何使用它。
要获取有关存储图像的信息,您可以使用getimagesizefromstring()
。
返回有关图像的信息数组。例如,我在这里的迷你头像图片(如本答案的底部所示),当保存为文本文件并按如下方式访问时:
print_r(getimagesizefromstring(file_get_contents('./image.txt')));
返回:
Array
(
[0] => 32
[1] => 32
[2] => 3
[3] => width="32" height="32"
[bits] => 8
[mime] => image/png
)
如您所见,图像类型可通过[mime]
键获得。
请注意,此函数需要PHP> = 5.4(这不应该是一个问题,因为不再支持< 5.4)。