Размеры в базе данных

 
Посетитель
small user social cms
МедальПочетный донор проектаПочетный донор проекта
Сообщений: 611
Уж не знаю как сформулировать название заголовка.
В общем интересен вопрос такой можно ли хранить картинку в базе данных? Сколько можно килобайт (мегабайт) записать одним запросом в базу и каким максимальный размер может вместить ячейка в таблице базы LONGTEXT например, или выбрать другую для записи, просветите непосвященных в тему пожалуйста.
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1164
jorgovich:
В общем интересен вопрос такой можно ли хранить картинку в базе данных?
Можно, а зачем?

Максимальный размер:
TINYTEXT: 255 (2^8 -1) bytes
TEXT: 65,535 (2^16 -1) bytes = 64 KiB
MEDIUMTEXT: 16,777,215 (2^24 -1) bytes = 16 MiB
LONGTEXT: 4,294,967,295 (2^32 -1) bytes = 4 GiB
( источник)
Редактировалось: 1 раз (Последний: 19 августа 2016 в 22:15)
Реклама
cms
Посетитель
small user social cms
МедальПочетный донор проектаПочетный донор проекта
Сообщений: 611
Val,
Можно, а зачем?
Для совместного редактирования, аля такое только попроще https://sketch.io/sketchpad/, пока идея такая поле - редактор рисовалка, при сохранении - льем в базу Base64 картинку, второй юзер просматривая материал может отредактировать запись, как то так пока мысль
Редактировалось: 2 раз (Последний: 19 августа 2016 в 22:37)
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1164
А почему не хотите сохранять на жесткий а затем загружать оттуда же? Зачем сложно если можно просто?)))
Но если хочется изобретать велосипеды дело ваше smile
Посетитель
small user social cms
МедальПочетный донор проектаПочетный донор проекта
Сообщений: 611
Val,
А почему не хотите сохранять на жесткий а затем загружать оттуда же? Зачем сложно если можно просто?)))
Так я и советуюсь и спрашиваю поэтому...
Во первых цель - просмотр изображения и совместное редактирование, если хранить на диске (причем я немного не понял о каком вы сохранении на жесткий - серверном или локальной машине пользователя?), буду считать что о серверном речь, вообщем получается права на запись и изменение файлов с изображением, как рулить?, например если нам надо только друзьям сделать редактирование и просмотр? В случае хранения в базе мы получаем бонусом все стандартные механизмы разруливания правами системы... Вот потому и задумался именно о хранении в базе данных..
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1164
Конечно о серверном =)
jorgovich:
вообщем получается права на запись и изменение файлов с изображением, как рулить?
Права у папки ..\upload\your_name ставите на запись и вроде проблем никаких нет.

Прежде чем показывать картинку пользователю в редакторе вы проверяете все его права. Если все хорошо тогда выводите картинку, если нет, показываете сообщение или пустое поле. Механизм один к одному такой же, место хранения изображений не имеет значения.
Разницы получается никакой кроме утяжеления БД при хранении картинок там. Превьюшки будете создавать? Еще дополнительная нагрузка на БД.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1981
jorgovich, Картинки в виде файлов храните на сервере (права им назначите 766) в той папке, где вы сами определили, а в базе - только имя файла после загрузки.
Естественно, есть два варианта хранения пути к рисунку:
1. Если все рисунки в общей куче (что не рекомендуется) то путь к файлу жестко прописывается в *.tpl
2. Если у вас для каждого пользователя (категории, раздела, статьи и.тд) назначается своя папка, вам необходимо предусмотреть вычисление пути к рисунку во время его загрузки, а затем запись его по вычисленному адресу. В этом случае хранить путь (чтобы не вычислять его каждый раз) лучше в базе, в том же поле, что и имя рисунка в виде полного пути.
Редактировалось: 1 раз (Последний: 21 августа 2016 в 09:46)
NOP
Посетитель
small user social cms
МедальПочетный донор проектаПочетный донор проекта
Сообщений: 611
Val, Странник, Спасибо за советы!
Разницы получается никакой кроме утяжеления БД при хранении картинок там.
Есть еще вопрос такого плана, взаимодействие с картинками, 766- права, если зная путь картинки мы спокойно можем ее просмотреть и редактировать и удалить, так? - и потенциально человек которому очень хочется добраться до материала другого человека может ее посмотреть и отредактировать зная путь... Как защититься от этого? В случае хранения в базе - это же сложнее сделать?
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1981
jorgovich, вот уж у вас паранойя! Ну, поставьте 764
NOP
Посетитель
small user social cms
МедальПочетный донор проектаПочетный донор проекта
Сообщений: 611
Странник,
вот уж у вас паранойя!
Да уже, есть такое...
Еще раз спасибо за советы, попробую оба варианта, первым в файлах как посоветовали, вторым в базе, потом по тестирую с ребятами что в итоге получиться, и какие глюки будут при разном типе хранения..
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.