Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wydajność - Dużo folderów, dużo zdjęć., Wyświetlanie zdjęć z danego katalogu, a nie po adresach z DB.
adbacz
post
Post #1





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

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


Witam i z góry przepraszam za tytuł tematu, ale nie wiedziałem jak to opisać.

Piszę pewien katalog i akurat jestem na poziomie pisania systemu uploadu i downloadu plików. Wpadłem na pewien pomysł. Mianowicie, zamiast zmuszać użytkownika do wpisywania pełnych adresów do zdjęć danego produktu i zapisywać to w DB, zrobić w folderze głównym folder o nazwie takiej samej jak ID danego produktu, i podczas wyświetlania tego produktu, sprawdzać, czy istnieje taki katalog i w nim zdjęcia, i stamtąd pobierać nazwy i wyświetlać zdjęcia.

Np. mamy kategorię ProductOne i dla tej kategorii tworzymy główny katalog o tej samej nazwie w katalogu upload. Podczas gdy będzie dodawany nowy produkt do tego katalogu i zdjęcia do niego, zostanie utworzony nowy katalog o nazwe ID produktu, np. upload/productone/155, i w tym katalogu zamieszczać wszystkie zdjęcia. A gdy ktoś będzie odwiedzał naszą stronę, będziemy sprawdzać czy katalog o ID produktu istnieje i będziemy pobierać wszystkie obrazki jakie tam są, i wyświetlać je.

Wg mnie, dość dobry patent na to, aby w jakimś stopniu zapobiec zapełnianiu sie przestrzeni dyskowej niepotrzebnymi plikami, które nie będą wykorzystywane. Ale teraz pytanie, czy to nie będzie zbyt obciążające dla serwera? Żeby za każdym razem sprawdzać czy katalog istnieje, przebierać po wszystkich plikach w tym katalogu, pobierać ich nazwy i dopiero wyświetlać?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
by_ikar
post
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Cytat
Wy mówicie o kategoriach tak? O tym, że żeby pobrać drzewo kategorii potrzeba kilkunastu, kulkudziesięciu zapytań do bazy rekurencyjnie w dodatku, żeby takie drzewo utworzyć, tak? To co powiecie na ten patent, że ja swoje drzewo kategorii (bez względu na ich zagłębienie) pobieram jednym zapytaniem, i to zwykłym SELECTem, a później tak sobie to obrabiam ładnie, że w widoku tylko zwykła pętla po tablicy i bab bardzo ładne drzewko?

Poprawka, tak mówi tylko jedna osoba w tym temacie, i te drzewko kategorii akurat nawiązał jako jedna z przewag którą ma xml nad bazami.

Cytat
Teraz wracając to meritum tematu - Nikt z Was nie zakwestionował mojego pomysłu, co do katalogów, więc uznam to za dobry znak - wprowadzę go w życie. Podczas wyświetlania produktu, sprawdzę czy istnieje katalog. Nie będzie istniał, jeśli nie wgrano żadnych zdjęć - nie będę tworzył pustego katalogu tylko dlatego, że dodano produkt. Jeśli będzie istniał to w tedy dopiero bede sprawdzał istnienie plików, listował je, zapisywał do tablicy i wyświetlał w widoku. Co do listy produktów - myslę że skorzystam z rozwiązania zaproponowanego przez by_ikar - bardzo proste i przede wszystkim prawie w cale nie odbije się na wydajności.

Ah, przez tego xml'a całkowicie zapomniałem ci napisać, że nie musisz tworzyć katalogów kategorii, wystarczy że stworzysz katalog z ID produktu, reszta jest zbędna. Zbędna, ponieważ w przypadku zmiany kategorii, musisz przenosić katalog z plikami z jednego katalogu do drugiego. Dodatkowa funkcjonalność która jest zbyteczna moim zdaniem. Wystarczy samo ID danego produktu.

Jeżeli już skorzystasz z mojego rozwiązania, bo w sumie nawet mi się spodobało, to nie zapomnij o tym dodatkowym skrypcie, żeby niepotrzebnie nie zapychać logów apacha. Lub mieć to nawet w poważaniu, bo przecież sytuacja że jakieś pliki przypadkowo zostaną skasowane jest bardzo marginalna. No ale w razie czego masz możliwość reagowania na brak tych plików w sposób inny niż tylko zapisanie logów przez apache.
Go to the top of the page
+Quote Post

Posty w temacie
- adbacz   Wydajność - Dużo folderów, dużo zdjęć.   5.12.2011, 14:19:52
- - skowron-line   Cytat(adbacz @ 5.12.2011, 14:19:52 ) ...   5.12.2011, 14:52:10
- - by_ikar   Nie wiem szczerze mówiąc co tutaj ma ci obciążać, ...   5.12.2011, 14:57:53
- - adbacz   Jesli w bazie mamy tylko ścieżki do plików to spra...   5.12.2011, 15:21:52
- - by_ikar   CytatPS. Może źle zrozumiałeś by_ikar, ale nie cho...   5.12.2011, 17:50:44
- - adbacz   No w sumie masz rację z tymi kategoriami. Niestety...   5.12.2011, 21:02:06
|- - by_ikar   Cytat(adbacz @ 5.12.2011, 21:02:06 ) ...   6.12.2011, 11:26:10
- - cudny   ja ostatnio wpadłem na genialny pomysł. Wiele rzec...   6.12.2011, 10:41:39
- - cudny   Cytat(by_ikar @ 6.12.2011, 11:26:10 )...   6.12.2011, 11:38:59
|- - by_ikar   Cytat(cudny @ 6.12.2011, 11:38:59 ) N...   6.12.2011, 12:31:08
- - adbacz   Ogólnie rzecz biorąc to nie widzę sensu zaprzegać ...   6.12.2011, 12:57:01
- - by_ikar   W przypadku kategorii, użyjesz wówczas 40 razy fil...   6.12.2011, 13:43:24
- - cudny   Cytat(by_ikar @ 6.12.2011, 12:31:08 )...   6.12.2011, 14:47:47
- - by_ikar   CytatCo do trzymania danych w bazie, a w xml to po...   6.12.2011, 15:13:02
- - cudny   Nie pisze tu o otwieraniu 40 plików tylko trzymani...   6.12.2011, 15:28:21
- - by_ikar   CytatNie pisze tu o otwieraniu 40 plików tylko trz...   6.12.2011, 16:04:57
- - cudny   ehh... nie mogę się niestety zgodzić, że za przepr...   6.12.2011, 16:22:29
- - by_ikar   CytatGalerię tworzę sobie zawsze na xml, bo po co ...   6.12.2011, 17:17:02
- - thek   Cudny: Po pierwsze, jeśli uważasz, że drzewiastej ...   6.12.2011, 21:53:48
- - Niktoś   CytatJuż nawet nie mówię, że poprzez pliki XML moż...   6.12.2011, 22:10:29
- - adbacz   Wy mówicie o kategoriach tak? O tym, że żeby pobra...   6.12.2011, 22:13:19
- - by_ikar   CytatWy mówicie o kategoriach tak? O tym, że żeby ...   6.12.2011, 22:48:29
|- - abort   Cytat(by_ikar @ 6.12.2011, 22:48:29 )...   6.12.2011, 23:16:19
- - adbacz   Uwież mi by_ikar, że to z katalogami kategorii pro...   6.12.2011, 23:49:22
- - by_ikar   CytatUwież mi by_ikar, że to z katalogami kategori...   7.12.2011, 00:09:48
- - adbacz   CytatA ja w sumie rozwiązałbym to inaczej. Coś pod...   7.12.2011, 01:43:18


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

 



RSS Aktualny czas: 8.10.2025 - 21:38