Wpis z mikrobloga

Problem jest następujący - mam zbiór o dużej liczbie elementów n ( n > 10.000, np. katalog zdjęć). Macie jakieś pomysły jak to sensownie posegregować, podzielić na foldery, żeby za każdym razem jak będę chciał otworzyć folder ze zdjęciami nie listowało mi się wszystkie n elementów? Myślałem np o czymś takim, że nadaje każdemu plikowi nazwe o strukturze plik1, plik2, ... plik_n, i próbuje je segregować zgodnie z następującym algorytmem:

1. Ustalam 'breakpointy' na wartościach np. x1 = 512, x2 = 128, x3 = 64

2. Pobieram n z nazwy danego pliku

3. obliczam n % x1 - reszta z dzielenia n przez x1, maksymalnie będzie to 511 i wrzucam do folderu o nazwie "n % x1"

4. obliczam (n%x1) % x2, maksymalnie będzie to 127 i wrzucam do podfolderu o nazwie "(n%x1) % x2"

5. Analogiczny krok dla x3

Nie wiem czy coś takiego ma w ogóle jakikolwiek sens. Jeśli nie, macie jakieś inne pomysły?

#programowanie #webdev #algorytmy
  • 8
@takelbery: czy daty utworzenia są zawsze takie same czy różne?

Najprostszym rozwiązaniem byłoby podzielenie ze względu na datę utworzenia. Wtedy tworzysz katalog dla roku, jeśli jest wymagane jeszcze większy podział, tworzysz katalog dla miesiąca.
@beret20022: a może po prostu zrobić strony: ?page=5

W czym piszesz? PHP-owy glob() powinien łyknąć taką liczbę plików, a wyświetlać będziesz tylko fragment ze zwróconej tablicy.
@beret20022: prawilnie byś to zrobił trzymając ścieżki + informacje o tych plikach w bazie danych i pote wyciagał je jakimś wymyślnym zapytaniem, a tak to fizycznie sobie mogą luzem w jednym folderze leżeć