我在BLOB Oracle列中存储了一个图像。当我尝试阅读它时,我发现 BLOB 字符串中的某个第一个字符是我的图像类型(例如 PNG,但被许多加密(或二进制)字符包围)。这意味着我也存储了我的图像类型。那么,如何通过PHP代码检测它呢?
这是我的第一个 BLOB 字符串,如下所示:
'�PNG
正如zerkms所写,这是文件格式标头的一部分。 它提供有关文件的元数据,以便程序知道如何使用它。
要获取有关存储映像的信息,您可以使用 getimagesizefromstring()
。
这将返回有关图像的信息数组。 例如,我在SO上的迷你头像图像(如本答案底部所示),当保存为文本文件并像这样访问时:
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)。