Структурирование файлов без БД - PullRequest
1 голос
/ 14 декабря 2010

В основном у меня есть простая форма, которую пользователь использует для загрузки файлов. Файлы должны храниться в каталоге / files / с некоторыми подкаталогами для почти одинакового разбиения файлов. например /files/sub1/sub2/file1.txt

Также мне не нужно хранить одинаковые файлы (по имени файла).

У меня есть собственное решение. Рассчитайте sha1 из имени файла. Возьмите первые 5 символов - например, abcde и поместите файл в / files / a / b / c / d / e /, это хорошо работает, но дает ситуацию, когда одна папка содержит файлы 4k, вторые файлы 6k. Есть ли способ сделать подсчет файлов ближе друг к другу? Максимальное количество файлов может быть 10 КБ или 10 КБ.

Спасибо за любую помощь.

P.S. Может быть, я объяснил что-то не так, так что еще раз :) Задача проста - у вас есть только HTML и PHP (без каких-либо БД) и каталог файлов, где вы должны хранить только загруженные файлы без каких-либо собственных данных. Вам следует разработать скрипт, который может обрабатывать сохранение загрузок в каталог файлов без сохранения дубликатов (по имени файла) и разбивать загруженные файлы по подкаталогам по количеству файлов в каждом каталоге (оптимальное и количество файлов в каждом каталоге должно быть близко друг к другу).

1 Ответ

0 голосов
/ 14 декабря 2010

Понятия не имею, почему ты так хочешь.Но если вы ДЕЙСТВИТЕЛЬНО должны сделать это таким образом, я бы предложил вам установить ограничение на количество байт в каждой папке.Каждый раз, когда вам нужно сохранить данные, вы открываете журнал с

  1. текущим подпрограммой
  2. общим количеством байтов, записанных в этот каталог

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

...