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