Как хранить изображения на сайте

(Ответов: 8, Просмотров: 1884)
  1. Новичок
    • Регистрация: 16.05.2012
    • Сообщений: 25
    • Репутация: 0
    День добрый!

    Как для будущего сайта организовать возможность хранения большого количества фото и изображений? Подскажите, пожалуйста, каков уровень вложенности для хранения оптимален?

    Мне пришло в голову самый очевидный способ - присваивать изображению id и хранить по id, создать каталоги 1, 2, 3 ... И в них хранить фото с id 0001-1000 в каталоге 1, 1001-2000 в 2 и т. д...
    • 0
  2. Super Moderator Аватар для Демиург
    • Регистрация: 09.06.2011
    • Сообщений: 2,212
    • Репутация: 1782
    • Webmoney BL: ?
    Да тут дело удобства. Или, скорее, того, будете ли вы что-то в дальнейшем делать с этими картинками, или загрузили и просто навсегда забыли. В таком случае вообще не важно, как по мне :) По 1000 или 10000 в папке и можно хранить :)
    • 0
  3. Гуру Аватар для dev1
    • Регистрация: 18.01.2012
    • Сообщений: 829
    • Репутация: 273
    • Webmoney BL: ?
    я делаю так
    имя файла - рандомный хэш. отрезаем первые 4 символа и делаем вложенность.
    например
    в бд так 78b39c84f35e3becc00e08a5e36afa08.jpg
    физически так 7/8/b/3/9c84f35e3becc00e08a5e36afa08.jpg

    16 * 16 * 16 * 16 - 16 * 16 * 16 = 61440 директорий с файлами

    файлы распределяются равномерно, среднее количество зависит от общего объема диска. чтобы распределить файлы размером 1 мб в количестве 1000 файлов на директорию (рекомендуемое число файлов для быстрого доступа), вам понадобится ~58.5 терабайт. вложенность естественно можете сделать меньше или больше.

    так как у меня загрузка через балансировщик, к имени файла в бд клею и номер сервера 1.78b39c84f35e3becc00e08a5e36afa08.jpg
    • 1

    Спасибо сказали:

    Alibi(09.01.2014),
  4. Студент Аватар для asdixer
    • Регистрация: 20.12.2013
    • Сообщений: 63
    • Репутация: 9
    • Webmoney BL: ?
    Вот мое мнение: категория - подкатегория - дата загрузки - имя файла.
    • 0
  5. Дипломник Аватар для Gnoma
    • Регистрация: 09.08.2013
    • Сообщений: 139
    • Репутация: 50
    • Webmoney BL: ?
    Согласна с asdixer, сама делаю так у себя на сайтах.

    Аргументы:
    - ничего не теряется
    - все понятно :)
    • 0
  6. Дипломник
    • Регистрация: 17.11.2013
    • Сообщений: 171
    • Репутация: 31
    На мой взгляд, лучше присваивать латинское имя. Для яндекс бота по картинкам будет плюс. Читал, что такие фотки будут ранжироваться лючьше. Мое мнение...сделать транслитирацию файла на понятном языке. Если Вам пофиг на картиночный трафик, то и так пойдет.
    • 0
  7. Гуру Аватар для akrustam
    • Регистрация: 21.05.2010
    • Сообщений: 1,161
    • Репутация: 285
    • Webmoney BL: ?
    А какой объем предполагается?
    • 0
  8. Дипломник
    • Регистрация: 15.07.2013
    • Сообщений: 189
    • Репутация: 43
    • Webmoney BL: ?
    Цитата Сообщение от dev1 Посмотреть сообщение
    1000 файлов на директорию (рекомендуемое число файлов для быстрого доступа)
    Согласен с этой цифрой.
    Исходя из этого и считается число уровней папок. Можно "про запас" добавить +1 уровень, чтобы потом не пришлось переделывать.

    Я храню так:

    пример названия: 10003461_Darya_Doncova_Ulybka_45_go_kalibra.jpg

    находится в папке 1, подпапка 0 (первые цифры названия)

    и так далее
    • 0
  9. Дипломник Аватар для mrchico
    • Регистрация: 26.11.2013
    • Сообщений: 220
    • Репутация: 6
    • Webmoney BL: ?
    Попробуй как это делается в ДЛЕ делать т.е вид такой папок /2013/01/05/dasflafdsjkafds.jpg т.е идет год, месяц, число и название картинки
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Домены .com/.net/.org - где хранить?
Прочее 0 14.03.2013 14:30
Как хранить пароли?
Оффтоп и свободные темы 50 09.12.2012 00:36
Яндекс.Картинки не индексируют изображения на сайте
Вопросы от новичков 16 07.12.2012 14:15
Битые изображения на сайте (портале)
Web программирование 3 12.07.2012 13:19
Где хранить файлы?
Прочее 8 06.09.2011 11:17

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры