Posiadam na stronie kilka tysięcy podstron. Większość z tych podstron będzie mieć załączony plik lub kilka plików. Jakie rozwiązanie jest bardziej optymalne.
1. Tworzę katalog "pliki/$id_strony/" i wrzucam do tego katalogu załączniki do danej podstrony. Po wejściu na podstronę, sprawdzam czy istnieje katalog o takim samym id jak strona i jeśli tak, to listuję pliki z tego katalogu i tworzę odpowiednie linki do tych plików
2. Wrzucam pliki do katalogu z datą (np. "pliki/2019-06/") i ścieżkę do pliki zapisuję w mysql. Po wejściu na podstronę wyświetlam linki z mysql.
Wygodniej byłoby mi skorzystać z pierwszej metody. Zastanawiam się jednak, czy duża ilość podfolderów w przypadku pierwszej metody będzie miała znaczący wpływ na wydajność?
Skoro strony mają oddzielne pliki to dobrym pomysłem jest dodanie id strony do ścieżki.
Zapis daty tak ale ja bym proponował raczej na zasadzie Y/m/d/ czyli łącznie $id_strony/Y/m/d/ w ten sposób ograniczasz ilość plików na katalog. Oczywiście sam serwer przyjmie duże ilości plików w katalogu ale jak przyjdzie ci coś zrobić z katalogiem w którym masz kilkaset tysięcy plików to szczerze współczuję.
Listowanie plików z katalogu to nie najlepszy pomysł, lepiej zapisywać ścieżki w bazie. Będzie to dużo wydajniejsze i nawet powiedziałbym że łatwiejsze.
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)