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
adbacz
post
Post #2





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

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


Ogólnie rzecz biorąc to nie widzę sensu zaprzegać dodatkowo do tego jeszcze XML. Oczywiście możnaby, ale po co? Przy dobrym rozlokowaniu katalogów, dobrze przemyślanych nazwach katalogów i plików, czy to oryginały czy miniaturki, nie będzie trzeba dodatkowo zaprzęgać nawet bazy danych.

Załóżmy, że mamy rozkład katalogów (tutaj nazwy katalogów produktów są alfanumeryczne, w rzeczywistości będą numeryczne):
Kod
uploads/images/productcat1/155
uploads/images/productcat1/233
uploads/images/productcat2/432
uploads/images/productcat2/5553

Gdzie:
uploads = Wiadomo...
images = Wiadomo...
productcat1 = ID kategorii produktów
155, 5553, 233 = ID produktu

I w tedy wszystkie obrazki będziemy trzymać w jednym katalogu (a nie w dwóch, osobno dla miniaturek i oryg. jak pisałeś), i bedziemy ustawiać dla nich nazwy od jednego w górę, gdzie jeden, to będzie zawsze obrazek na miniaturkę i bedziemy sprawdzać tylko czy istnieje plik w katalogu i nazwie takiej:
Kod
uploads/images/product1/233/1_thumb.png

Oczywiście, może się zdarzyć też tak, że nawet katalogu produktu lub katalogu kategorii produktów nie będzie. Ale to nam nie będzie w niczym przeszkadzało podczas listowania produktów z danej kategorii. My, ścieżkę do tego katalogu będziemy sprawdzać tylko i wyłącznie jedną, bo będziemy ją sklejać na poczekaniu. Ja już mam ID kategorii produktów porobione, dlatego u mnie powstałaby ścieżka jedna, dla jednego produktu, i w tedy tylko funkcją file_exists() bym sprawdzał czy obrazek istnieje.

Wg mnie, dużo więcej obciążałoby serwer odpytywanie katalogu i sprawdzanie czy sa pliki, i jeśli są to je wylistować i wyświetlić w produkcie, niż listy kategorii.

A jeśli nie będzie danego katalogu, to co za problem dopisać prostą funkcję, która nam ten katalog docelowy stworzy podczas dodawania zdjęcia? Nie widze w tym nic trudnego, katalog produktów to nie będzie tylko i wyłącznie tworzenie nowych katalogów na serwerze i upload zdjęć, więc można sobie pozwolić na takie coś.

Ten post edytował adbacz 6.12.2011, 13:00:38
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 08:02