Хранение файлов в каталогах в онлайн-диспетчере файлов

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

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

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

Это хорошая идея? Использую php и mysql.

1
задан 24 August 2010 в 19:48
поделиться

2 ответа

Да, это так.

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

2
ответ дан 2 September 2019 в 21:53
поделиться

Забудьте о папках и позвольте пользователям пометить свои файлы, по несколько тегов на файл. Затем позвольте им просмотреть файлов с тегами X . Реализация этого не сильно отличается от виртуальных папок, но гораздо более гибкая для пользователей.

0
ответ дан 2 September 2019 в 21:53
поделиться
Другие вопросы по тегам:

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