![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 136 Pomógł: 0 Dołączył: 22.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
witam
Strona z ogłoszeniami i do każdego ogłoszenia do 10 fotek. Jak łatwo policzyć będzie tego mnóstwo. Jak przechowywać te fotki ? W bazie ścieżki do plików. A jak przechowywać fotki ? Wszystkie w jednym katalogu - to chyba nie najlepsze rozwiązanie. Jak zabrać sie za skrypt który będzie to w sensowny sposób rozmieszczał ? Nie wiem czy w jednym katalogu po 100 katalogów a w nim po 1000 fotek - czy inne ilości lub rozwiązania. Proszę o pomoc. |
|
|
![]() |
-Wieviór- |
![]()
Post
#2
|
Goście ![]() |
Tworzysz tabelę z obrazkami i z katalogami.
Przy próbie dodania pliku wyczytujesz ostatni katalog (według id) i dajesz skrypt, który sprawdzi ile jest w tym katalogu plików, jeśli jest powiedzmy powyżej 500 to skrypt tworzy nowy, zapisuje go do tabeli z katalogami i tam wrzuca ten obrazek. Nazwy katalogów najlepiej jakby były losowe jakoś. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 136 Pomógł: 0 Dołączył: 22.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
dzięki za odpowiedz
Czy 500 plików w katalogu to optymalne rozwiązanie ? przy 30 000 fotek byłoby 60 katalogów pozdrawiam |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 18.08.2007 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Jeśli będziesz hostował na Ext3 w Linuxie z jądrem od wersji 2.6 to w sumie nie ma różnicy i możesz wszystko trzymać w jednym katalogu. Na Windzie pewnie się w końcu wysypie, jak wszystko...
|
|
|
-Wieviór- |
![]()
Post
#5
|
Goście ![]() |
Tak na prawdę nie ma to znaczenia ile będziesz tych plików gdzie trzymać. Podałem przykładowo 500, myślę że to optymalna liczba ;]
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 27.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli będziesz hostował na Ext3 w Linuxie z jądrem od wersji 2.6 to w sumie nie ma różnicy Około 5-8k plików w kat. zacznie zwalniać bez indeksowania. Na pewno w bazie ścieżki do oryginałów obrazków. A jak dzielić? Ustawić jakiś max i dzielić last_insert_id z tablicy ścieżek przez max - wynik to nazwa katalogu - ładnie się rozłoży i rozwiązanie proste. Albo inne rozwiązanie - ale tu nie ma co kombinować (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Na Windzie pewnie się w końcu wysypie, jak wszystko... Chyba na FAT (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Na NTFS-ie z powodzeniem trzymam ponad 15k plików w jednym katalogów i żadnych problemów nie ma. Choć będzie to pewna różnica w przypadku wielkości plików, bo trzeba przecież wziąć pod uwagę przechowywanie w MFT. To tak było a'propos windy. Cytat Ustawić jakiś max i dzielić last_insert_id z tablicy ścieżek przez max - wynik to nazwa katalogu No, do głowy od razu przychodzi mi rozwiązanie, typu: IDOgłoszenia_numerFotki - 1_12.jpg. Nawet nie trzeba by było w bazie ścieżek trzymać; skoro to fotki, to w 95% przypadków wystarczyłby JPG. Ten post edytował erix 12.09.2007, 08:09:31 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 13.09.2006 Skąd: Poland Ostrzeżenie: (0%) ![]() ![]() |
Najlepiej przy uploadowaniu fotografii użyć funkcji md_file().
Generuje ona hash md5 z zawartości pliku. Teraz możesz uploadować plik do danego katalogu, nadajesz mu nazwę wygenerowanego_hashu_md5.jpg/gif/itp i następnie zapisujesz do bazy hash danego zdjęcia przy danym rekordzie. Pozdrawiam. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 136 Pomógł: 0 Dołączył: 22.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
skoro nie jest to istotne - to jak dla mnie to wszystkie w jednym katalogu
Chyba na FAT (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Na NTFS-ie z powodzeniem trzymam ponad 15k plików w jednym katalogów i żadnych problemów nie ma. Choć będzie to pewna różnica w przypadku wielkości plików, bo trzeba przecież wziąć pod uwagę przechowywanie w MFT. To tak było a'propos windy. No, do głowy od razu przychodzi mi rozwiązanie, typu: IDOgłoszenia_numerFotki - 1_12.jpg. Nawet nie trzeba by było w bazie ścieżek trzymać; skoro to fotki, to w 95% przypadków wystarczyłby JPG. 15k nie kumam tego, (w katalogu z fotkami 15k jedna fotka ma 60 KB ) |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat 15k nie kumam tego, Skrót myślowy: 15 000; było bez -B, więc chodziło mi o ilość. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 136 Pomógł: 0 Dołączył: 22.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
A co powiecie o tym kodzie ?
fotki będą w folderach 1,2,3,itd jak w folderze jest więcej niż 5(przykład do testów) to tworzy nowy folder, a jak w którymś jest mniej to w nim zapisuje w $ile_katalogow_max zrobiłem 10 dla testów a myślę o 1000 - powinno wystarczyć tym bardziej że stare fotki będą na bieżąco usuwane. Tylko nie wiem czy aby to nie zamuli jak będzie 500 folderów po np 15000 fotek Kod wystarczy skopiować i wkleić działa.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 13:14 |