Jeśli tworze system blogowy i każdy użytkownik ma własny katalog [do plików, własnych skórek itp.], przy większej ilości ludzi trzeba tym jakoś zarządzać, jakie są najoptymalniejsze do tego metody? Np. login = nazwa katalogu, utowrzyć katalogi z literami a, b, c, d, e itd. i przez odczytanie pierwszej litery loginu, wpakować cału katalog do niego? Czy dać wszystkie loginy bez podzielenia alfabetycznego do jednego katalogu?
yoozeq
30.10.2008, 01:34:10
W systemie, który pisałem jakiś czas temu, jako nazwy katalogu do przechowywania załączników pod konkretnym artykułem użyłem ID tego artykułu (liczbowego - z bazy). I przyjąłem zasadę, że pod jednym artykułem nie może być dwóch załączników o identycznej nazwie (jak próbujesz taki wstawić, skrypt sam dopisze znak podkreślenia na początku nazwy).
Wygląda to tak:
/zalaczniki/1/jakiś_plik_podpiety_do_art_o_id_1.zip
/zalaczniki/1/inny_plik_podpiety_do_art_o_id_1.zip
/zalaczniki/26/jakiś_plik_podpiety_do_art_o_id_26.zip
/zalaczniki/45/blabla.zip
/zalaczniki/45/_blabla.zip //tu skrypt sam sobie zmienił nazwę, bo użytkownik ładował dwa pliki o takiej samej nazwie
Ogólnie w katalogu z załącznikami mam podkatalogi ponazywane cyframi (skrypt sobie je tworzy, jak potrzeba i usuwa, jeśli są już zbędne). Mnie akurat takie rozwiązanie pasuje. Pytanie, jak w Twojej ocenie Tobie (bądź komukolwiek, kto będzie administrował potem stroną) będzie wygodniej się połapać w strukturze katalogów - czy po id, czy po loginie, może po tytule artykułu/posta? Ja bym szedł chyba w stronę loginu - łatwiej się połapać, kto najwięcej "zaśmieca":P, pozakładać jakieś ograniczenia na ilość/rozmiar wszystkich załączników jednego usera.
a wiesz że nawet nie pomyślałem o ID muszę to przemyśleć... ale idąc dalej, chodzi mi o to czy np. odczyt katalogu, jeśli nie będzie pogrupowane alfabetycznego, będzie powolny?
A i mam pytanie odnoścnie podmieniania plików, jeśli mam np. 1.jpg, a ktoś chce wgrać szablon który też ma plik 1.jpg jak wyświetlić komunikat o zastąpieniu pliku? Aby je podmienić kasując plik stary?
Maxik
30.10.2008, 12:06:51
Przy uploadzie pliku o nazwie która już istnieje stary zostanie zastąpiony nowym, możesz sprawdzić
file_exists" title="Zobacz w manualu PHP" target="_manual czy plik istnieje i zapytać usera czy napewno chce go zastąpić.
krzyszbi
30.10.2008, 12:09:31
a jak przechowujesz pliki do konta
obstawiam że masz oddzielną tabelę dla plików mniej więcej z takimi polami
id_pliku,id_usera(konta),nazwa_pliku,( może jeszcze jakieś dodatkowe )
ja zawsze aby sie nie przejmować powtórzeniem nazw robie tak ze doodaję przen nazwą id_pliku z bazy ( a jako że id_pliku jest autoincrementowane ) to sie nie powtórzy i mam coś takiego zawsze id_pliku_nazwa_pliku ( np. 1_1.jpg) gdzie dodany plik to 1.jpg
Kod
folerglowny/
- users/
--login
--login
--login
Nie mogę zmieniać nazw plików, bo to się szybko sypnie np. przy szablonach, kazdy ma standardowo takie same nazwy plików. I każdy user kopiuje tylko te pliki do swojego katalogu
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.