获取BLOB Oracle中的文件类型

时间:2014-12-01 03:08:59

标签: php image oracle types blob

我将图像存储在BLOB Oracle列中。当我尝试阅读它时,我发现BLOB字符串中的第一个字符是我的图像类型(例如PNG,但被许多加密(或二进制)字符包围)。这意味着我也存储了我的图像类型。那么,如何通过PHP代码检测它?

这是我的第一个BLOB字符串看起来像:

'�PNG

1 个答案:

答案 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)。