Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Lista plików do pobrania - w folderach czy w mysql
adiadi
post 17.06.2019, 17:03:35
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 10.04.2017

Ostrzeżenie: (0%)
-----


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ść?

Ten post edytował adiadi 17.06.2019, 17:05:31
Go to the top of the page
+Quote Post
sazian
post 17.06.2019, 17:57:17
Post #2





Grupa: Zarejestrowani
Postów: 1 043
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
adiadi
post 17.06.2019, 20:55:15
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 10.04.2017

Ostrzeżenie: (0%)
-----


Cytat(sazian @ 17.06.2019, 18:57:17 ) *
$id_strony/Y/m/d/ w ten sposób ograniczasz ilość plików na katalog.


Podkatalogi Y/M/d w katalogu $id_strony raczej nie jest potrzebne. Do strony o jednym ID będzie dodane zazwyczaj ok. 0-4 plików. Czasami będzie więcej, ale raczej nigdy nie przekroczy to 15 plików. Jednak stron będzie kilka, a nawet kilkanaście tysięcy i głównie chodzi mi o to, czy problemem wydajnościowym nie będzie kilka-kilkanaście tysięcy katalogów (jeden katalog dla każdej strony).

Z Twojej wypowiedzi wnioskuję, że najlepiej połączyć obie metody, które chciałem uzyć. Trzymać pliki z katalogu, który zawiera w nazwie $id_strony, a ścieżkę do nich (w zasadzie wystarczy sama nazwa pliku, bo $id_strony będę znać) przechowywać w mysql.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 02:01