Как грамонто хранить иллюстрации в данном случае?

Asar

Новичок
Как грамонто хранить иллюстрации в данном случае?

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

мицелий
тело гриба
шляпа гриба
челы, употребляющие такие грибы

Количество этих разделов ограниченно и заранее известно. К каждому разделу можно быть одна основная иллюстрация (которая выводится на странице описания) и может быть еще несколько дополнительных. Т.е. примерно так:

Гриб№1
мицелий
- основная фотка
- 4 дополнительных фотки
тело гриба
- основная фотка
шляпа гриба
- фоток нет
челы гриба
- основная фотка
- еще 3 фотки

Вопрос: как грамотно организовать хранение файлов картинок, чтобы можно было выдернуть фоты каждого раздела отдельно, основные фоты отдельно и т.д. (количество грибов в базе на данный момент около 5.000, и в дальнейшем ожидается значительное увеличение — поэтому, например, вариант структуры Фоты_грибов/Гриб№1/Мицелий/Основная_фота.jpg кажется довольно нарпяжным в реализации (хотя лучшего варианта я не выдумал), а обзывать фоты типа m1_m_main.jpg тоже не сильно хочется, да и хранить тысячи файлов в одной папке — у меня уже ФТП манагер тормозить начинает).
 

HraKK

Мудак
Команда форума
ысячи файлов в одной папке — у меня уже ФТП манагер тормозить начинает
Не только ФТП менеджер, это скажется и на скорости генерации вашего сайта.
 

Asar

Новичок
Т.е. ничего окромя множества вложенных папок не предлагаете?..
 

HraKK

Мудак
Команда форума
Организовывать структуро разветвленного множества можно по разному. Но имхо, это самый лаконичный и удобоваримый вариант. Будет чем то не устраивать - обсудим.

кажется довольно нарпяжным в реализации
Перекреститесь, и скажите что именно?

-~{}~ 11.08.07 19:55:

Можно придумать лучше реализацию.

Смотрите допустим у вас 100000 грибов, получается у вас будет в 1 точке 1000000 папок... с этим надо бороться.

-~{}~ 11.08.07 21:01:

Подпапки к свойствам грибов не надо делать, толку -0.
Надо придумать только распределенную систему хранения папок грибов.
 

Shiz

Новичок
Asar
можно дать каждой фотографии оригинальное имя (хеш файла) , например 'e8e0b605bcc7.jpg' и хранить в двух вложенных папках с именами первых символов, то есть полный путь до фотки будет '/e/8/e8e0b605bcc7.jpg'.

затем делаем базу данных, где для каждого фотки указываем имя файла, к какому грибу (каждому грибу даем идентификатор) и какой части гриба относится, можно еще указать и размеры изображения

для вставки изображений в страницу пишем специальную функцию (или класс)

способ будет достаточно быстрым и даст достаточный функционал=))
 

HraKK

Мудак
Команда форума
Shiz
Помолчи.

Хотя нет.
Что-то интересное есть, в этой идее. Только что - сейчас не пойму, потом подумаю

-~{}~ 11.08.07 21:17:

Вспомнил, это способ хранения асседов. Только у тебя немного не правильный, поэтому и не мог вспомнить
 

Shiz

Новичок
HraKK
ээээ, откуда такая грубость?

Вспомнил, это способ хранения асседов.
асседы? что это?


Только у тебя немного не правильный, поэтому и не мог вспомнить
почему неправильный? как можно улучшить?
 

MiksIr

miksir@home:~$
Вообще хранение по хешу - самый распространенный вариант. И, кстати, вполне тут можно обойтись без базы - достаточно строить хеш от строчки с логическим путем к картинке. Единственный минус такого хранения - менее удобный менеджмент картинок.
 

HraKK

Мудак
Команда форума
Shiz
1)Это не грубость.
2)гугл.
3)Он там чуть другой, потому что там не хеш. Не все не правельное, не верно.

MiksIr
Нету минусов, если подумать. База нужна.
 

Asar

Новичок
Гмы, если подпапок не делать, придется какой-нить идентификатор хотя бы к каждому типу файлов приляпывать в имени. Насчет хэшей — есть желание сделать человеческие имена файлов ко всему прочему. Типа «шляпа-первого-гриба.jpg».
 

HraKK

Мудак
Команда форума
можешь, это тебе не мешает.
Берешь хешь от этого имени, и разбераешь. Просто каждый раз на 1 операцию больше будет - это не критично.
 

dron4ik

Новичок
Asar
не вижу проблем реализации в уже придуманной схеме - "Фоты_грибов/Гриб№1/Мицелий/Основная_фота.jpg".

мне кажется файлы ТАК хранить логично, но для большего удобства нужно дублировать в базе.

В базе хранить, например: путь к картинке, краткое описание (alt, title), размер, объём, ид раздела и т.д. Вообщем решить, какая инфа потребуется и её записывать, чтобы не передергивать файлы на диске запрашивать инфу о фотах из базы.
 

bgm

 
Asar
БД в каком-либо виде используется (конкретно - связывается ли информация из БД с изображениями)?
 

Asar

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