![]() |
Создание схемы хранения большого количества файлов на сервере
Итак. Скажим, мне нужно хранить огромное количество фотографий на сервере. Это фотографии альбомов и аватар пользователей. Ежу ясно, что в базе данных следует хранить пути к каждой конкретной фотографии, а сами фотографии в папках или папке, и каким образом, по какой схеме?
Вот в этом у меня и проблема как грамотно хранить фотографии в папках, чтобы не было в дальнейшем проблем в результате масшабирования?? Создавать папку для каждого альбома, для каждого пользователя, как это делается для высоконагруженных проектов? :( |
Можешь ещё распределять на поддомены.
Например на одном поддомене все картинки в большом размере. На другом все в уменьшеном. На третьем в увеличенном. А вообще лучше всего намутить скрипт обработчик запросов. сделать такую штукенцию, например будет такой запрос к получению аватара: get_pic.php?id=%ID пользователя%&size=%размер% Где %размер%, например, avatar или small или big А скрипт сам сделает запросы и выведет нужную фоту. |
я нифига не понял
для каждого пользователя/альбома рекомендуется ли делать папку? |
просто создай три папки в одном месте mini , big, ava и каждую фоку закидывай в каждую папку с своими размерами но с одним и тем же названием потом обращайся к ним так:
http://sitename/ava/00000001.jpg http://sitename/mini/00000001.jpg http://sitename/big/00000001.jpg |
а лучше сделай в корне папку img и в этой папке уже вот эти три папи, и тогда путь будет
http://sitename/img/ava/00000001.jpg что бы легче и понятнее было потом и бэкап проще будет делать |
Мне печально, что ты ничего не понял.
Я дело сказал |
Думаю, не стоит создавать для каждого альбома отдельную папку.
Можно хранить все картинки в одном месте, но с префиксами. например: http://site/img/album1_1_big.jpg http://site/img/album1_1_small.jpg http://site/img/album1_2_big.jpg http://site/img/album2_2_small.jpg Можно использовать папки big, small, как предлагали выше. Для упрощения вида ссылок использовать mod_rewrite Способ размещения файлов в каждой конкретной задаче можно реализовать по-разному, поэтому однозначного решения нет. |
Цитата:
Лучше мб создавать папку с названием к примеру первые 6 символов от хеша и записывать в конфиг имя и сохранять в неёю если количество файлов в ней больше допустим 100 - создавать новую папку и тд |
| Время: 22:36 |