【问题标题】:Get file type in BLOB Oracle在 BLOB Oracle 中获取文件类型
【发布时间】:2015-01-29 00:44:28
【问题描述】:

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

这是我的第一个 BLOB 字符串的样子:

'�PNG

【问题讨论】:

  • “这意味着我也存储了我的图像类型” --- 嗯,不。它是图像数据的一部分。

标签: php image oracle types blob


【解决方案1】:

作为zerkms wrote,这是文件格式头的一部分。它提供有关文件的元数据,以便程序知道如何使用它。

要获取有关存储图像的信息,您可以使用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(这应该不是问题,因为不再支持

【讨论】:

    猜你喜欢
    • 2021-12-01
    • 2022-01-15
    • 2013-12-11
    • 2015-02-06
    • 2021-02-03
    • 1970-01-01
    • 2018-12-24
    • 2013-11-08
    • 2013-12-11
    相关资源
    最近更新 更多