@semki096

Как оргпнизовать хранение аватарок?

Храню аватарки в папке upload/avatars. Хочу организовать хранение так например upload/avatars/первые 500аватарок, upload/avatars/вторые500аватарок итд. Как это сделать, либо возможно есть лучше вариант? Да здесь есть вопрос по пути, который должен както вычисляться.
  • Вопрос задан
  • 184 просмотра
Решения вопроса 1
@Silm
Имя для файла хешируется в случайную строку в шестнадцатеричном формате. Файл сохраняется в директорию название которой - это первые n символов имени файла. Например, если n = 2, а имя файла 0aac4e6a54c170b06e2bd3848d2b735e.jpg то файл будет сохранен по такому пути upload/avatars/0a/0aac4e6a54c170b06e2bd3848d2b735e.jpg

При двух символах файлы будут раскладываться равномерно по 256 директориям. Можно использовать другое количество символов или вложенные директории (0a/ac/4e/6a), смотря сколько у вас будет файлов.

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

Или. Можно каждый раз при сохранении файла проверять сколько файлов есть в директории. Если больше лимита, то создавать новую директорию, сохранять в нее и записывать в БД полный путь до файла.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы