Получить тип файла в BLOB Oracle

Я сохранил изображение в столбце BLOB Oracle. Когда я попытался прочитать его, я обнаружил, что какой-то первый символ в строке BLOB является моим типом изображения (например, PNG, но окружен множеством зашифрованных (или двоичных) символов). Это означает, что я также сохранил свой тип изображения. Итак, как это определить по коду PHP?

Это моя первая BLOB-строка:

'�PNG

0

Решение

Как 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 больше не поддерживается).

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]