Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Создание схемы хранения большого количества файлов на сервере |

01.01.2010, 18:32
|
|
Banned
Регистрация: 17.07.2007
Сообщений: 179
Провел на форуме: 816011
Репутация:
23
|
|
Создание схемы хранения большого количества файлов на сервере
Итак. Скажим, мне нужно хранить огромное количество фотографий на сервере. Это фотографии альбомов и аватар пользователей. Ежу ясно, что в базе данных следует хранить пути к каждой конкретной фотографии, а сами фотографии в папках или папке, и каким образом, по какой схеме?
Вот в этом у меня и проблема как грамотно хранить фотографии в папках, чтобы не было в дальнейшем проблем в результате масшабирования??
Создавать папку для каждого альбома, для каждого пользователя, как это делается для высоконагруженных проектов? 
|
|
|

01.01.2010, 18:52
|
|
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме: 2603363
Репутация:
278
|
|
Можешь ещё распределять на поддомены.
Например на одном поддомене все картинки в большом размере.
На другом все в уменьшеном.
На третьем в увеличенном.
А вообще лучше всего намутить скрипт обработчик запросов.
сделать такую штукенцию, например будет такой запрос к получению аватара:
get_pic.php?id=%ID пользователя%&size=%размер%
Где %размер%, например, avatar или small или big
А скрипт сам сделает запросы и выведет нужную фоту.
|
|
|

01.01.2010, 19:04
|
|
Banned
Регистрация: 17.07.2007
Сообщений: 179
Провел на форуме: 816011
Репутация:
23
|
|
я нифига не понял
для каждого пользователя/альбома рекомендуется ли делать папку?
Последний раз редактировалось superboy4; 01.01.2010 в 19:06..
|
|
|

01.01.2010, 19:09
|
|
Постоянный
Регистрация: 06.04.2009
Сообщений: 383
Провел на форуме: 1288105
Репутация:
328
|
|
просто создай три папки в одном месте mini , big, ava и каждую фоку закидывай в каждую папку с своими размерами но с одним и тем же названием потом обращайся к ним так:
http://sitename/ava/00000001.jpg
http://sitename/mini/00000001.jpg
http://sitename/big/00000001.jpg
|
|
|

01.01.2010, 19:11
|
|
Постоянный
Регистрация: 06.04.2009
Сообщений: 383
Провел на форуме: 1288105
Репутация:
328
|
|
а лучше сделай в корне папку img и в этой папке уже вот эти три папи, и тогда путь будет
http://sitename/img/ava/00000001.jpg
что бы легче и понятнее было потом и бэкап проще будет делать
|
|
|

01.01.2010, 19:36
|
|
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме: 2603363
Репутация:
278
|
|
Мне печально, что ты ничего не понял.
Я дело сказал
|
|
|

01.01.2010, 20:27
|
|
Познающий
Регистрация: 11.11.2008
Сообщений: 77
Провел на форуме: 1144288
Репутация:
99
|
|
Думаю, не стоит создавать для каждого альбома отдельную папку.
Можно хранить все картинки в одном месте, но с префиксами.
например:
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
Способ размещения файлов в каждой конкретной задаче можно реализовать по-разному, поэтому однозначного решения нет.
|
|
|

02.01.2010, 00:09
|
|
Познающий
Регистрация: 30.12.2009
Сообщений: 38
Провел на форуме: 38124
Репутация:
18
|
|
Сообщение от superboy4
я нифига не понял
для каждого пользователя/альбома рекомендуется ли делать папку?
Думаю не надо.
Лучше мб создавать папку с названием к примеру первые 6 символов от хеша и записывать в конфиг имя и сохранять в неёю если количество файлов в ней больше допустим 100 - создавать новую папку и тд
Последний раз редактировалось suser; 02.01.2010 в 00:12..
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|