База данных 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.
Подскажите кто знает или догадывается - из-за чего некоректно отображается изображение?
|