Создание дерева директорий

xtester

Новичок
Создание дерева директорий

Проблема:
Есть сайт с множеством графических файлов с именами вроде "113.jpg", "100233.jpg"
(где 113 и 100233 - id изображения который хранится в базе).

Проблема в том что таких файлов слишком много для хранения в 1 директории и хочется сделать так чтобы
при заливке файла на сервер для него создавалось 2 директории, например чтобы файл "100233.jpg " заливался в
"240/154/100233.jpg "

В данном случае вышестоящие папки вроде "240" и "154" могут называться цифровыми значениями например от 0 до 255,
таким образом получится что в корневой папке будет максимум 256 директорий, в каждой из которых тоже не более чем X папок.
В результате получится что в конечной папке, даже при 100 000 000 изображений будет храниться не более 1540 картинов в папке [100 000 000 / (256 * 256) ].

А теперь сам вопрос :)
Подскажите плиз где можно найти такой алгоритм для генерации 2х имён папок для заданного числа ?
 

xtester

Новичок
Автор оригинала: zerkms
64/E9/100233.jpg

где 64 hex == 100 dec, E9 hex = 233 dec
не проблема в какой форме записывать имена директорий - десятичной или шестнадцатиричной

проблема в алгоритме - как быстро сгенерировать 2 имени папки из любого числа от 0 до 100 000 000
извините, но из вашего примера мне не ясно как это сделать
 

zerkms

TDD infected
Команда форума
да как угодно.

взять последние 5 чисел

00233, перевести в hex. получим 00/E9


если было 12345678.jpg

то берём 45678 dex == B26E hex => B2/6E


если лень так - бери md5($filename) и отпиливай первые/последние 4 символа, и юзай их.
 
Сверху