Модераторы: Aliance, skyboy, MoLeX, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отображение аватара из БД, бинарное поле 
V
    Опции темы
comtat
Дата 1.2.2007, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: нет
Всего: 71



Есть БД MsSql и php 5
в Бд хранятся картинки в поле типа image, т.е бинарные, как их показать в браузере?
т.к. при просто выводе отображается биннарная строка а не сама картинка .

 


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
mishaSL
Дата 1.2.2007, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 2
Всего: 54



Делаешь отдельный php файл в котором выводишь эти бинарные данные, а перед этим передаешь заголовок что это картинка(к примеру header("Content-type: image/png");).
А в самом html в теге <img> пишешь путь к этому файлу.

Это сообщение отредактировал(а) mishaSL - 1.2.2007, 18:37


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
comtat
Дата 1.2.2007, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: нет
Всего: 71



mishaSL , а можно пример, т.к. в пхп я не специалист и это первое, что я делаю на пхп 
 smile 


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
mishaSL
Дата 2.2.2007, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 2
Всего: 54



Вот пример положи эти файлы в одну папку и поменяй настройки подключение и название полей в запросах к БД на свои.

файл index.php
Код

<?php
mysql_connect($dbHost, $dbUserName, $dbPassword);
mysql_select_db($dbName);
$query = mysql_query("SELECT `id`, `name` FROM `table` WHERE `id` = ".intval($_GET['id'])." LIMIT 1") or die(mysql_error());
if (mysql_num_rows($query) != 0) {
    while (list($id, $name) = mysql_fetch_row($query)) {
        print $name.'<img src="image.php?id='.$id.'" border="0"/>';
    }
} else {
    echo "Ошибка!!!";
}
?>


файл image.php
Код

<?php
//здесь определяешь конфиг данные для БД
mysql_connect($dbHost, $dbUserName, $dbPassword);
mysql_select_db($dbName);
$query = mysql_query("SELECT `image_png` FROM `table` WHERE `id` = ".intval($_GET['id'])." LIMIT 1") or die(mysql_error());
if (mysql_num_rows($query) != 0) {
    list($img) = mysql_fetch_row($query);
    header('Content-type: image/png');
    print $img;
} else {
    // Здесь можно сделать вывод картинки заглушки при возникновении ошибок
}
?>


 smile 


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
Mal Hack
Дата 2.2.2007, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Неправильно хранить графическую информацию в БД.
В догонку: http://php.net/imagecreatefromstring
PM ICQ   Вверх
comtat
Дата 3.2.2007, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: нет
Всего: 71



Цитата(Mal Hack @  2.2.2007,  22:19 Найти цитируемый пост)
Неправильно хранить графическую информацию в БД

Вопрос конечно спорный, тут есть свои плюсы и минусы...
Притом так было сделано до меня ..  smile 

mishaSL Mal Hack спасибо за помощь !!


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
Mal Hack
Дата 5.2.2007, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Цитата(comtat @  3.2.2007,  10:56 Найти цитируемый пост)
Вопрос конечно спорный, тут есть свои плюсы и минусы...

Это - НЕ спорный вопрос... К счатью, тут все четко ясно.
PM ICQ   Вверх
comtat
Дата 5.2.2007, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: нет
Всего: 71



Цитата(Mal Hack @  5.2.2007,  14:43 Найти цитируемый пост)
Это - НЕ спорный вопрос...

как раз и спорный ...
При загрузке маштабируем фото, и делаем дату последнего изменения
при работе хэшируем и не каких проблем ...  smile 



--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
Mal Hack
Дата 5.2.2007, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



А при чем тут хранение самой картинки в БД?
PM ICQ   Вверх
comtat
Дата 7.2.2007, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: нет
Всего: 71



Цитата(Mal Hack @  5.2.2007,  16:56 Найти цитируемый пост)
А при чем тут хранение самой картинки в БД?

При том, что если есть маштабирование перед загрузкой, то размер БД не сильно растет



--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
nerezus
Дата 7.2.2007, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Цитата

Неправильно хранить графическую информацию в БД.
 Неправильно так категорично говорить ;)
По крайней мере, так безопаснее(совсем чуть-чуть безопаснее) ;)


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Mal Hack
Дата 7.2.2007, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Цитата(comtat @  7.2.2007,  12:25 Найти цитируемый пост)
При том, что если есть маштабирование перед загрузкой, то размер БД не сильно растет

ЗАЧЕМ ГРУЗИТЬ БД ФАЙЛАМИ !!!
Блин, учим матчасть, в чем плюсы БД по сравнению с файловой системой и  зачем БД нужна.

Цитата(nerezus @  7.2.2007,  15:35 Найти цитируемый пост)
По крайней мере, так безопаснее(совсем чуть-чуть безопаснее) ;) 

Никакой. Раз картинка хранится, значит она где-то выводится, значит ее можно скатать... А на БД - лишняя нагрузка...
PM ICQ   Вверх
comtat
Дата 8.2.2007, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: нет
Всего: 71



Mal Hack , ты не учитываешь, что есть еще такой факт, как требование заказчика


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
Mal Hack
Дата 8.2.2007, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Цитата(comtat @  8.2.2007,  13:54 Найти цитируемый пост)
Mal Hack , ты не учитываешь, что есть еще такой факт, как требование заказчика 

Заказчик делает заказ. А уж КАК делать - дело программиста. Заказнику нужен конечный рабочий вариант. Техническая часть его не волнует.
PM ICQ   Вверх
-=Ustas=-
Дата 8.2.2007, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: нет
Всего: 69



comtat, в догонку. Я полностью поддерживаю Mal Hack-а (см.выше) и еще, забыли упомянуть, что размер БД при твоем подходе, достигнет предела, во много раз быстрее, и потом заказчик предъявит именно тебе, типа какого фига мой проект загинается. Если сервак свой, и есть возможность выделять под БД сколь угодно места, то тогда другое дело, закачивай туда хоть фильмы DVD-шные, но ИМХО, мне оперативку жалко. Зачем ее нагружать, когда можно обойтись и без этого! 
ЗЫ. В итоге ты получишь только производительность. выбирай ;)


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
comtat
Дата 9.2.2007, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: нет
Всего: 71



-=Ustas=- , в БД будет храниться максимум 100 картинок по 5 Кб каждая, т.е. хранение в БД в этом случае я считаю обоснованным.
Все же остальные картинки, иконки и т.п. хранятся на диске.

Цитата(-=Ustas=- @  8.2.2007,  22:26 Найти цитируемый пост)
Если сервак свой, и есть возможность выделять под БД сколь угодно места, то тогда другое дело
Так и есть при том, в проект используется группа серверов специально под БД.

Всем спасибо, за приятную дисскусию  smile 

Это сообщение отредактировал(а) comtat - 9.2.2007, 00:31


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
Mal Hack
Дата 9.2.2007, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



comtat, я тебе одно скажу, ты делаешь, по принципу "А, работает ну и ладно".... До хорошего это не доведёт. Мне искренне жаль, что ты не хочешь услышать мои и Юстосовы слова о том, что так делать не правильно. Но это уже - твое право... Просьба, когда на более сложных проектах у тебя база рухнет, не спрашивай почему так получилось...

И вообще, прочитай про нормализацию БД, первую и вторую НФ.
PM ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Графика | Следующая тема »


 




[ Время генерации скрипта: 0.0975 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.