База данных MySQL
При попытке отобразить изображение из базы данных(http://os7866.co.ua/scripts/get_img.php?image_id=8) вылазит ошибка:
"Изображение «http://os7866.co.ua/scripts/get_img.php?image_id=8» не может быть показано, так как содержит ошибки."
Скрипт для отображения изображения из БД
CODE (
php):
скопировать код в буфер обмена
<?php
header("Content-Type: text/html;charset=utf-8;");
$image_id = isset($_GET["image_id"]) ?
$_GET["image_id"] : ""; if (!$image_id > 0
) exit;
/*
Подключение к базе даных
...
*/
$query = sprintf("select * from images where image_id = %d;", $image_id); if (mysql_num_rows($result) == 0
) die("<p>Відсутнє зображення з image_id: {$image_id}</p>");
header('Content-type: ' . $image['mime_type']); echo $image["image_data"];
?>
Но если изображение прочитать из БД и сохранить в файл и отобразить из файла(http://os7866.co.ua/scripts/get_img_2.php?image_id=8), то изображение отображается без проблем.
CODE (
php):
скопировать код в буфер обмена
<?php
header("Content-Type: text/html;charset=utf-8;");
$image_id = isset($_GET["image_id"]) ?
$_GET["image_id"] : ""; if (!$image_id > 0
) exit;
/*
Подключение к базе даных
...
*/
$query = sprintf("select * from images where image_id = %d;", $image_id); if (mysql_num_rows($result) == 0
) die("<p>Відсутнє зображення з image_id: {$image_id}</p>");
$dst = fopen("../tmp/tmp_img.JPG","w"); fwrite($dst, $image["image_data"]); echo "<img src='../tmp/tmp_img.JPG'/>";
?>
- Таким образом проблема только отображения данных
- Проявляется только на хостинге. На локальной машине где установлены: MySQL, Apache и PHP изображения отображаются без проблем.
- Пробовал сравнить по содержимому данные с базы и то что пытается отобразить скрипт: есть различия в некоторых символах
- Все скрипты в кодировке UTF-8 без BOM.
Подскажите кто знает или догадывается - из-за чего некоректно отображается изображение?