[PHP]Galeria

0

Witam serdecznie,
właśnie piszę skrypt galerii, jakie informacje zapisywać w bazie danych? Zdjęcia nie będą komentowane ani oceniane.
Czyli nazwe pliku i ewentualnie date odania(no id oraz id kategori) coś jeszcze?
Jeżeli chodzi o przechowywanie plików to czy dobrym pomysłem będzie przechowywanie wszystkich zdjęc w jednym katalogu czy lepiej każdą kategorię oddzielnie?
Pozdrawiam.

// popraw temat - Ł

0

Katalogowanie - tutaj trzeba by wejść w sfery Apache które nie są mi zbyt dobrze znane. Anyway minęły czasy tego żeby takie pierdoły w jakimś większym stopniu spowalniały serwer. Zalecam więc jeden folder.

Baza danych - no co? W bazie zapisujesz oczywiście to co ci się przyda, czyli takie flaczki jak: Nazwa zdjęcia, opis, link do niego (np. ścieżka względna typu /zdjecia/naplazy002.jpg) i reszta tego co Ci będzie potrzebne.

0
  1. Wszystkie pliki zapisuj w jednym folderze, nazwy najlepiej według id rekordu w bazie, o tym zaraz.
  2. Pliki najlepiej przepuść przez php, w razie czego będziesz miał możliwość zmiany ich rozmiaru, chyba że ruch na stronie będzie duży i plików dużo to możesz po prostu podczas dodawania generować pliki miniaturek i oryginału. Wtedy niemusisz przepuszczać przez php.
  3. W bazie na pewno zapisz sobie typ pliku - np rozszezenie, rozmiar, wymiary WxH, jesli masz podział na użytkowników to id usera i id kategori, date dodania i wszystkie inne dane które potrzebujesz.
0

Ok dzięki, już chyba wiem, zastanawiam się czy jest jakaś duża różnica między tym, że są w jednym folderze a w kilku.

0

Raczej nie ma. Jeśli nie listujesz tego folderu to nie ma to IMO żadnego wpływu na sposób działania skryptu czy jest w jednym folderze 10k plików, czy są podzielone po 100/folder. Zważ jeszcze na to że nie piszesz hostingu zdjęć tylko skrypt galerii :)

0

System plików może odmówić współpracy w pewnym momencie - zastanów się jak wiele plików w galerii chcesz przechowywać. Pojedynczy katalog jest łątwiejszy, aczkolwiek może spowodować pewne ograniczenia przy dużym rozroście.

0

myślę że 1000 to maks

0
Demonical Monk napisał(a)

Raczej nie ma. Jeśli nie listujesz tego folderu to nie ma to IMO żadnego wpływu na sposób działania skryptu czy jest w jednym folderze 10k plików, czy są podzielone po 100/folder. Zważ jeszcze na to że nie piszesz hostingu zdjęć tylko skrypt galerii :)

a zgadnij jak pliki w takim dużym folderze są wyszukiwane? myślisz, że jest tam indeks? nie. 10000 plików to średnio 5000 iteracji na znalezienie pliku.

0

to znaczy lepiej każdą kategorię trzymać w osobnym katalogu?

0

a zgadnij jak pliki w takim dużym folderze są wyszukiwane? myślisz, że jest tam indeks? nie. 10000 plików to średnio 5000 iteracji na znalezienie pliku.

W każdym nowoczesnym systemie plików jest indeksowanie oparte na jakimś rodzaju drzewa, więc dla ilości plików idących w dziesiątki tysięcy iteracji będzie kilkanaście.

0
Kicok napisał(a)

W każdym nowoczesnym systemie plików jest indeksowanie oparte na jakimś rodzaju drzewa, więc dla ilości plików idących w dziesiątki tysięcy iteracji będzie kilkanaście.

o, pozytywnie się zdziwiłem, ntfs i raizor fs faktycznie indeksują pliki w katalogach. fat32/ext2/3 nie. więc wybór opcji zależy od systemu plików i od używanego systemu plików.
mimo wszystko nie polecam umieszczania w katalogu więcej niż kilkudziesięciu tysięcy plików.

0

No ale po kij tak na prawdę w galerii rodzinnej/screenów z gry/innych dziwactw dawać kilkanaście K plików? Raczej to trzeba uwzględnić w specjalnych przypadkach jeśli robimy na prawdę jakiś pr0 portal lub po prostu chcemy żeby to jakoś wyglądało. IMO najlepszym rozwiązaniem w większych skryptach to wybór trybu zapisywania: jeden/kilka katalogów + dodanie skryptu który przerzuciłby te tryby jakby się komuś odwidziało.

W mniejszych skryptach raczej stoję za tym jednym katalogiem... No bo nie robimy kombajnu przecież.

1 użytkowników online, w tym zalogowanych: 0, gości: 1