Ограничение размера файлов пользовательских папок - PullRequest
0 голосов
/ 29 октября 2010

Я занимаюсь разработкой файлового хостинга, где пользователи могут загружать файлы в свою папку.Эта папка может иметь квоту всего 100 Мб.Я хотел бы реализовать систему, в соответствии с которой, если пользователь попытается загрузить файл tp в свою папку, которая уже заполнена до 100 МБ, и превысит свою квоту, система не разрешит это и отобразит сообщение пользователю.* Любые идеи

Спасибо

R

1 Ответ

0 голосов
/ 29 октября 2010

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

Это означает либо отслеживание размеров файлов при их загрузке, например, строку в таблице базы данных, и в этом случае вопрос "сколько они уже используют?"можно ответить одним запросом.В качестве альтернативы вы можете решить эту проблему каждый раз, когда кто-то пытается загрузить файл, находя все принадлежащие ему файлы (предположительно из таблицы БД?) И вызывая stat() или аналогичный для запроса размера каждого файла.

Как только вы узнаете, сколько они уже используют POST-запрос или каким-либо другим способом, который вы используете для загрузки, вам сообщат размер входящей загрузки.

Будьте осторожны с размером - размер файла часто нетакой же, как размер на диске.Что важнее?

...