Как вывести картинку из базы?

Чувствую себя полным идиотом, но залип и не могу этот вопрос разрешить. Есть картинки в базе mssql в бинарном виде( тут сыпется куча камней, но система не моя и дана в таком виде). Я пытаюсь сделать отдельный скрипт, который выводил бы картинку.
if(!is_numeric($_GET['id'])){ error404();}  

$query_image = 'SELECT IMAGE_  FROM images WHERE id='.$_GET['id']; 
$result_image= $db->query($query_image);
if($image = $db->fetch_assoc($result_image))
{
    header("Content-type: image/jpeg");
    echo $image['IMAGE_'];
}
else
{
    error404();
}

Выводит следующее:
i.imgur.com/jIKSO3e.png

Притом картинка там точно есть. Другим способом выводить получается. А именно таким:
$img = base64_encode($img['IMAGE_']);
<img src="data:image/jpg;base64,<?=$img>">

Подскажите, пожалуйста что я делаю не так?
  • Вопрос задан
  • 2406 просмотров
Пригласить эксперта
Ответы на вопрос 3
FanatPHP
@FanatPHP
Чебуратор тега РНР
В начале 90-х ходила шутка про нового русского и мерседес с засорившейся пепельницей.
Вы будете смеяться, но логика пользователей похапе конгениальна логике того малинового пиджака.
Если что-то не работает, то видимо, машина не та, и её надо сменить. "Я делаю неправильно, надо по-другому".
И вопрос формулируется как "какую машину мне взять" АКА "как правильно делать то-то".

Мысль о том, что делает он правильно, но "пепельница засорилась" т.е. "что-то пошло не так" никогда не приходит ему в голову. И вопрос никогда не формулируется как "как мне проверить, что я все сделал правильно?"

Что характерно, ответы тоже пишутся в том же самом стиле: "сделай то-то". Отвечающий знает еще меньше спрашивающего, но зато у него в голове органчик, в который записан некоторый набор сведений, из которого выдается первое попавшееся.
Ответ написан
benbor
@benbor
Помог ответ - не забудь лайкнуть
1. Кладете еще одну картинку в корень сайта
2. Открываете инспектор элементов, вкладочку сеть
3. Загружаете site.my/picture.jpg
4. Загружаете site.my/my_script.php который должен вернуть вам картинку
5. Смотрите, сравниваете, чего не хватает, что лишнее. Браузеру фиалетово, что вы там на сервере делаете, он смотрит только Response, вернете в PHP точно такой Response как и без PHP и будет вам счастье
PS FanatPHP плюсую
Ответ написан
HTTP заголовки чувствительны к регистру букв согласно RFC 2616.
Поэтому попробуйте указать Content-Type корректно...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы