[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Корректное отображение картинок из MySQL
Гость_Алексей
День добрый!

Мною в базу данных была загружена картинка с типом LONGBLOB. При запросе на отображение картинки из БД происходит выброс бинарного кода вместо картинки. Ниже привожу свой php код для отображения информации.

<?php
$db = mysql_connect("localhost","test","test");
mysql_select_db("Project" ,$db);
mysql_query("SET NAMES utf8");
$sql = mysql_query("SELECT * FROM t1" ,$db);
echo ("<table border ='1'>");
echo ("<tr><td>Название</td><td>Описание</td><td>Картинка</td& gt;</tr>");
while ($tablerows = mysql_fetch_row($sql))
{
echo("<tr><td>$tablerows[1]
// </td><td>$tablerows[2]</td><td>$tablerows[3]</td></tr> ");
}
echo "</table>";
mysql_close($db);
?>
Valick
ну нужно указать правильный контент тайп
___
в чем необходимость хранить картинки именно в БД? почему не хранить в БД служебную информацию (путь, имя, размер и тд), а саму картинку обычным файлом?

_____________
Стимулятор ~yoomoney - 41001303250491
Гость_Алексей
Честно говоря, немного не понял вашего ответа. Не подскажете, как именно это реализовывается?

_______

Необходимость состоит в экономии времени. Собственно, если картинка будет лежать в БД, то время, потраченное на её выгрузку на сайт, будет затрачено меньше, чем если бы картинка загружалась по ссылке, лежащей в БД
xlebosol
Цитата (Valick @ 15.06.2013 - 17:29)
ну нужно указать правильный контент тайп
___
в чем необходимость хранить картинки именно в БД? почему не хранить в БД служебную информацию (путь, имя, размер и тд), а саму картинку обычным файлом?

Человек не ищет легких путей, что будет делать когда картинок станет очень много или больших размеров.
xlebosol
Цитата (Гость_Алексей @ 15.06.2013 - 17:52)
Честно говоря, немного не понял вашего ответа. Не подскажете, как именно это реализовывается?

_______

Необходимость состоит в экономии времени. Собственно, если картинка будет лежать в БД, то время, потраченное на её выгрузку на сайт, будет затрачено меньше, чем если бы картинка загружалась по ссылке, лежащей в БД

Ничем не выигрывается, добавляй в папку и не забивай себе голову. Загрузка изображений в базу, а если тебе понадобятся какие еще действия, где расширение системы, где повторяемость и т.д. Кроме того изображение находится непосредственно на сервере, а не передается весть знает с какого mysql и где он может находится.
Гость_Алексей
Собственно, картинки абсолютно все будут одинакового размера, а вот на счёт количества я не подумал. Это будет сильно перегружать БД?
vagrand
Гость_Алексей

Советую почитать от эту статью: http://habrahabr.ru/post/81862/
Я там подробно расписал почему не стоит хранить файлы в БД

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Гость_Алексей
Спасибо огромное за помощь. Последую вашему примеру, но всё же для эксперимента хотелось бы попробовать запихнуть файлы в БД=)
Nikitian
Судя по коду, вы картинку прямо в html пихаете, а надо ссылку на картинку (тег img) и отдельным скриптом выдавать само тело бинарника картинки.
А вообще, vagrand правильно сказал для общего случая и когда вы не понимаете зачем надо хранить картинки именно в бд.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.