Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » upload картинок в базу данных

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3

Открыть новую тему     Написать ответ в эту тему

mossscova

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите! Пожалуйста!
есть база с таблицами!
есть таблица brand и в ней есть поле Logo!
 
как сделать upload  картинок с сохранением в базу и потом по заданным ID выводить  
ту или иную картинку




Название исправлено. Умеешь же писать по русски, так и пиши название темы по русски. /Cheery/

Всего записей: 8 | Зарегистр. 15-05-2003 | Отправлено: 15:30 11-12-2004 | Исправлено: Cheery, 22:24 11-12-2004
SiMM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. Совершенно бессмысленно хранить в базе картинки - в базе нужно хранить путь к картинкам, а сами картинки - в файловой системе.
2. Серверный язык программирования - не указан.
3. Если это PHP - читать раздел мануала Загрузка файлов на сервер + статью Upload файлов, и все с этим связанное

Всего записей: 2302 | Зарегистр. 14-05-2004 | Отправлено: 16:00 11-12-2004 | Исправлено: SiMM, 16:01 11-12-2004
Infection

iB3 PostgreSQL Coder
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SiMM, у вас наверное задачи не те, чтобы хранить картинки в базе.
по мне так - очень удобный способ, вдруг я изменю названия папок или еще чего-нить, так ведь придется менять в скриптах расположение картинок...
 
а в базе можно хранить картинки в поле типа blob или на крайний случай в типе text и по ID их вытаскивать...
 
любо дорого смотреть.

Всего записей: 352 | Зарегистр. 21-12-2001 | Отправлено: 16:37 12-12-2004
KADABRA



Великий покусатель
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mossscova
Infection
Полностью согласен с SiMM, но кому припекло:

Код:
 
<?php
 
$db = mysql_connect("localhost", "root", "coolPass");
mysql_select_db("test");
 
$file = fopen("e:/www/index2.gif", "w");
 
$query = "SELECT * FROM img";
$result = mysql_query($query);
$str = mysql_result($result, 0, "img");
 
fputs($file, $str);
 
?>
 


Код:
 
<?php
 
$db = mysql_connect("localhost", "root", "coolPass");
mysql_select_db("test");
 
$file = "e:/www/index.gif";
 
$query = "DELETE FROM img";
$result = mysql_query($query);
 
$str = file_get_contents($file);
$str = mysql_escape_string($str);
$query = "INSERT INTO img VALUES ('$str')";
 
$result = mysql_query($query, $db);
mysql_close($db);
 
?>
 

CREATE TABLE `img`
(
  `img` blob NOT NULL
) TYPE=MyISAM;
 
 
Добавлено
Это только принцип.
 
Добавлено
Кому надо, тот под себя переделает.


----------
Это не подпись.

Всего записей: 1718 | Зарегистр. 14-07-2003 | Отправлено: 17:23 12-12-2004
Swappp

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Infection

Цитата:
iB3 PostgreSQL Coder

Интересно... Извиняюсь за оффтоп, но вроде ты сам должен это представлять...
А так, для начала какой язык?

Цитата:
SiMM, у вас наверное задачи не те, чтобы хранить картинки в базе.  

Подойдем к вопросу по другому, что им делать в БД и к каким последствием это приведет? Выборку и сортировку по картинкам мы точно делать не будем, т.к. в БД пока не появилось таких алгоритмов. Дальше, нам надо обращаться к БД что бы достать картинку, считаем время, что быстрее прямое чтение Apache'м из файла или парсинг скрипта+запрос к БД+загрузка кортинки в ОЗУ+отдача клиенту?

Цитата:
по мне так - очень удобный способ, вдруг я изменю названия папок или еще чего-нить, так ведь придется менять в скриптах расположение картинок...  

config.php> define('IMG_PATH', 'img/'); echo '<img src="'.IMG_PATH.'my_img.png"/>';

Цитата:
или на крайний случай в типе text и по ID их вытаскивать...

Вот здесь уж точно проще хранить в файле...

Цитата:
любо дорого смотреть.

В том то и дело что дорого... слишком много ресурсов расходуется в пустую.

Всего записей: 1716 | Зарегистр. 02-11-2001 | Отправлено: 17:26 12-12-2004 | Исправлено: Swappp, 17:28 12-12-2004
SiMM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Выборку и сортировку по картинкам мы точно делать не будем
В этом просто нет смысла

Всего записей: 2302 | Зарегистр. 14-05-2004 | Отправлено: 17:59 12-12-2004
Swappp

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SiMM

Цитата:
В этом просто нет смысла

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

Всего записей: 1716 | Зарегистр. 02-11-2001 | Отправлено: 18:27 12-12-2004
batva



crazy administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Infection

Цитата:
по мне так - очень удобный способ


Цитата:
хранить картинки в поле типа blob

 
А как в браузер выводить?
 
Так?
<img src=path_to_script.php?img=5">  
 
 
 

Всего записей: 12593 | Зарегистр. 07-01-2001 | Отправлено: 19:20 12-12-2004
KADABRA



Великий покусатель
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
batva

Цитата:
А как в браузер выводить?
 
Так?
<img src=path_to_script.php?img=5">  

Можно и так. Чем плохо?

----------
Это не подпись.

Всего записей: 1718 | Зарегистр. 14-07-2003 | Отправлено: 19:29 12-12-2004
Swappp

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KADABRA

Цитата:
Можно и так. Чем плохо?

А не порще <img src="path_to_img/$sql_result[img]">?

Всего записей: 1716 | Зарегистр. 02-11-2001 | Отправлено: 19:41 12-12-2004
batva



crazy administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KADABRA

Цитата:
Можно и так. Чем плохо?

 
Тем, что твою картинку разместят где-нибудь на нонейм.ру и прощай сервер...
 
 
Из-таких вот "удобных способах" хранения картинок потом проблемы у людей с хостингом.
1040 - Too many connections  знакомо?
 
 
 

Всего записей: 12593 | Зарегистр. 07-01-2001 | Отправлено: 20:23 12-12-2004
Infection

iB3 PostgreSQL Coder
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
1. я храню картинки только те, которые играют роль в элементах дизайна, логотипы фирм, иконки и т.п хренотень. Изначально вопрос ставился именно про brand-logo.
 
2. я не храню картинки, которые находятся в статьях, рассказах, новостях и т.п. я делаю для себя проще. указываю к примеру <!img=123!> в тексте, а потом просто если в PHP, то делаю str_replace. В базе храню расположение картинок, размеры, альт и т.п.  
 
3. я привык делать проверку на referer при доступе к картинкам через mod_rewrite
 
4. у меня к базе нет несколько обращений при открытии нескольких картинок на странице, я делаю один запрос и держу все картинки в кэше. это же скока обращений надо будет, если у тебя 40 картинок на странице.
 
Swappp, не понял что вы имели в виду

Всего записей: 352 | Зарегистр. 21-12-2001 | Отправлено: 21:14 12-12-2004
SiMM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
1. я храню картинки только те, которые играют роль в элементах дизайна, логотипы фирм, иконки и т.п хренотень. Изначально вопрос ставился именно про brand-logo.
Ради пары картинок напрягать базу? Ей наверно больше заниматься нечем
Цитата:
 я делаю один запрос и держу все картинки в кэше
Ну и зачем же тогда вообще нужна база? Гораздо экономичнее хранить данные в FS.

Всего записей: 2302 | Зарегистр. 14-05-2004 | Отправлено: 22:29 12-12-2004
batva



crazy administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Infection

Цитата:
4. у меня к базе нет несколько обращений при открытии нескольких картинок на странице, я делаю один запрос и держу все картинки в кэше. это же скока обращений надо будет, если у тебя 40 картинок на странице.  

 
Подробнее чуть, можно?
Ибо я не понимаю.
 
На странице 20 картинок.
HTML cтраница генерится скриптом index.php
Скрипт делает запрос к базе, вытаскивает 20 картинок, сохраняет их в кеше, ака в памяти, пусть это будет массив, окей, а дальше что?
 
 

Цитата:
3. я привык делать проверку на referer при доступе к картинкам через mod_rewrite  


 
Сегодня в моде ставить всякие файрволы.
У многих из них есть функция блокирования реферера.
И у некоторых она включена по дефолту.
 
И если такими можно пожертвовать в какой нибудь галерее, где тяжелые картинки, и жалко трафик на сторону отдавать, но элементы дизайна.. проверять реферер.. чудно однако.
 
 

Всего записей: 12593 | Зарегистр. 07-01-2001 | Отправлено: 22:37 12-12-2004
Swappp

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
но элементы дизайна.. проверять реферер.. чудно однако.

ИМХО еше чуднее хранить элементы дизайна в бд... и кэшировать их на винте... короче я ничего не понял
Infection

Цитата:
Swappp, не понял что вы имели в виду

В каком месте?

Всего записей: 1716 | Зарегистр. 02-11-2001 | Отправлено: 22:43 12-12-2004
UncoNNecteD



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Многие хостеры рекомендуют использовать mysql, так как с файлами работа медленнее. Им опыту не занимать.

----------
-= Я тут чертовски давно =-

Всего записей: 4040 | Зарегистр. 21-03-2002 | Отправлено: 14:47 14-12-2004
Swappp

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
UncoNNecteD

Цитата:
Многие хостеры рекомендуют использовать mysql, так как с файлами работа медленнее. Им опыту не занимать.

Во-первых для каких задач? Во-вторых это как быстрее? Сортировать картинки по их содержимому и делать выборку мы не будем, правильно? А чтение будет медленнее, т.к. БД же сама работает с ФС, не хранить же ей всю таблицу с картинками в ОЗУ? А кеширование ФС в данном случае будет справляются лучше.

Всего записей: 1716 | Зарегистр. 02-11-2001 | Отправлено: 17:17 14-12-2004
SiMM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Swappp, речь скорее всего о том, что у некоторых "продвинутых" хостеров используемая ими файловая система начинает тормозить при поиске файла в каталоге с БОЛЬШИМ числом файлов. Хотя это может решаться и кэшированием - т.е. средствами ОС, если они позволяют это делать.

Всего записей: 2302 | Зарегистр. 14-05-2004 | Отправлено: 17:30 14-12-2004
batva



crazy administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
UncoNNecteD

Цитата:
Многие хостеры рекомендуют использовать mysql, так как с файлами работа медленнее. Им опыту не занимать.

 
Глупости.
Многих не надо, покажи хотя бы одного, кто советует хранить графику в MySQL.
 

Всего записей: 12593 | Зарегистр. 07-01-2001 | Отправлено: 01:13 15-12-2004
Daiz13



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Полностью согласен с тем, что хранить картинки в базе дурацкая затея, но... всегда бывают исключения. Пишу админку для базы данных, что-то вроде картотеки с фотографиями людей для использования в локальной сети. Малюсенький нюанс в том что эту базу нужно будет периодически синхронизировать с похожей базой на сайте. Не вижу другого способа синхронизации чем хранить все это в базе, а потом обновлять нужные записи.

Всего записей: 257 | Зарегистр. 06-06-2001 | Отправлено: 18:09 15-12-2004
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3

Компьютерный форум Ru.Board » Интернет » Web-программирование » upload картинок в базу данных


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru