Temat: [MySQL] Galeria internetowa

Witam,
Jaką strukture powinna mieć galeia internetowa, którą może sobie założyć każdy user?
Narazie mam zaprojektowana tebele user i domyślam, się że powiązanie będzie za pomocą user_id.

Temat: [MySQL] Galeria internetowa

Zależy jak galeria ma działać.
W najprostszym przypadku:

tblUsers:
UserId | Login | Password

tblGalleries:
GalleryId | OwnerId (references tblUsers.UserId) | Title | DateAdded

tblPhotos:
PhotoId | GalleryId (references tblGalleries.GalleryId) | Description

To tylko przykład. Zależy jakie dane chcesz trzymać.

Temat: [MySQL] Galeria internetowa

Wojciech Małota:
tblUsers:
UserId | Login | Password

tblGalleries:
GalleryId | OwnerId (references tblUsers.UserId) | Title | DateAdded

tblPhotos:
PhotoId | GalleryId (references tblGalleries.GalleryId) | Description

Taka baza wystarczy, tylko jak potem rozpoznawać zdjecia w folderze (załóżmy w folderze ZDJECIA) do którego użytkownika należą? Czy jako Description dać nazwe zdjęcia?
Alan Gabriel B.

Alan Gabriel B. Software Engineer,
IFX

Temat: [MySQL] Galeria internetowa

Zrób kolumnę z nazwą pliku ze zdjęciem, ewentualnie częścią ścieżki do zdjęcia.
Waldemar Jonik

Waldemar Jonik właściciel,
webmaster,
programista, JW Web
Development

Temat: [MySQL] Galeria internetowa

Taka baza wystarczy, tylko jak potem rozpoznawać zdjecia w folderze (załóżmy w folderze ZDJECIA) do którego użytkownika należą? Czy jako Description dać nazwe zdjęcia?

ja notuje kilka parametrow dodatkowo:

- data dodania zdjecia
- wysokosc zdjecia
- szerokosc zdjecia
- nazwa pliku oryginalnego
- nazwa pliku przydzielona przy jego zapisie
- status (czesto przydaje sie zeby np ograniczac dostep do zdjecia lub oznaczac zdjecia moderowane)

- tytul zdjecia
- opis zdjecia
- autor zdjecia
- numer porzadkowy (jesli chcemy aby uzytkownik mogl zmieniac kolejnosc zdjec w obrebie galerii)

i mozna wymysac wiele innych parametrow w zaleznosci od funkcji galerii - np zliczanie wyswirtlen zdjecia (tworzenie rankingow ogladalonosci), zliczanie glosow oddanych na dane zdjecie itp itdWaldemar Jonik edytował(a) ten post dnia 13.07.08 o godzinie 20:42

Temat: [MySQL] Galeria internetowa

Wojciech Potocki:
Taka baza wystarczy, tylko jak potem rozpoznawać zdjecia w folderze (załóżmy w folderze ZDJECIA) do którego użytkownika należą? Czy jako Description dać nazwe zdjęcia?

Ja generalnie zdjęcia zapisuję w jakimś katalogu jako nazwy używając jego id z bazy.
Waldemar Jonik

Waldemar Jonik właściciel,
webmaster,
programista, JW Web
Development

Temat: [MySQL] Galeria internetowa

Ja generalnie zdjęcia zapisuję w jakimś katalogu jako nazwy używając jego id z bazy.

lepiej w nazwie dodawac poza id z bazy jeszcze czesc pseudolosowa np zakodowana w md5()

to tak zeby ktos z automatu nie sciagnal sobie zawartosci calej galerii albo zeby nie odgadywal kolejnych zdjec zmieniajac w adresie www tylko numerek id w nazwie pliku.

Temat: [MySQL] Galeria internetowa

Waldemar Jonik:
- nazwa pliku oryginalnego
- nazwa pliku przydzielona przy jego zapisie

Aha czyli podczas uploadu zmieniasz nazwe zdjecia pod jaka je zapisujesz w katalogu dzieki czemu uniknie sie zeby istnialy dwa zdjecia o takiej samej nazwie tak?

Temat: [MySQL] Galeria internetowa

lepiej w nazwie dodawac poza id z bazy jeszcze czesc pseudolosowa np zakodowana w md5()

to tak zeby ktos z automatu nie sciagnal sobie zawartosci calej galerii albo zeby nie odgadywal kolejnych zdjec zmieniajac w adresie www tylko numerek id w nazwie pliku.

No dobra... ale niby po co to robić?
Przecież i tak każde zdjęcie można ściągnąć ze strony...
Ewentualnie jeżeli są jakieś galerie prywatne lub o innym ograniczonym dostępie to można zabronić dostępu do katalogu, w którym są zdjęcia, a na stronie ładować je poprzez skrypt.
Alan Gabriel B.

Alan Gabriel B. Software Engineer,
IFX

Temat: [MySQL] Galeria internetowa

Wojciech Małota:
No dobra... ale niby po co to robić?
Przecież i tak każde zdjęcie można ściągnąć ze strony...
Ewentualnie jeżeli są jakieś galerie prywatne lub o innym ograniczonym dostępie to można zabronić dostępu do katalogu, w którym są zdjęcia, a na stronie ładować je poprzez skrypt.

Ale po co ułatwiać automatom robotę...

Temat: [MySQL] Galeria internetowa

Ale po co ułatwiać automatom robotę...

Bo jak ktoś będzie chciał napisać soft, który ściągnie wszystkie fotki to i tak to zrobi. A jeżeli fotki będą prosto dostępne to przynajmniej wygeneruje to mniejsze obciążenie na serwerze :-).

To oczywiście żart. Jeżeli ktoś faktycznie bardzo nie chce żeby zgranie fotek było łatwe to oczywiście może doklejać w nazwie pliku jakieś md5.

Temat: [MySQL] Galeria internetowa

Wojciech Małota:
lepiej w nazwie dodawac poza id z bazy jeszcze czesc pseudolosowa np zakodowana w md5()

to tak zeby ktos z automatu nie sciagnal sobie zawartosci calej galerii albo zeby nie odgadywal kolejnych zdjec zmieniajac w adresie www tylko numerek id w nazwie pliku.

No dobra... ale niby po co to robić?
Przecież i tak każde zdjęcie można ściągnąć ze strony...
Ewentualnie jeżeli są jakieś galerie prywatne lub o innym ograniczonym dostępie to można zabronić dostępu do katalogu, w którym są zdjęcia, a na stronie ładować je poprzez skrypt.

po to że kazdy ma miec dostep do zdjec ze swojej galerii

a nie cudzych np

Temat: [MySQL] Galeria internetowa

po to że kazdy ma miec dostep do zdjec ze swojej galerii
a nie cudzych np

To zależy jakie kto galerie chce oskryptować.
Jeżeli polityka dostępu do fotek ma być jakiś sposób ograniczana to w grę wchodzi tylko i wyłącznie ładowanie fotek przez skrypt.
Alan Gabriel B.

Alan Gabriel B. Software Engineer,
IFX

Temat: [MySQL] Galeria internetowa

Wojciech Małota:
>wygeneruje to mniejsze obciążenie na
serwerze :-)

hehehe
Waldemar Jonik

Waldemar Jonik właściciel,
webmaster,
programista, JW Web
Development

Temat: [MySQL] Galeria internetowa

Wojciech Małota:
Ale po co ułatwiać automatom robotę...

Bo jak ktoś będzie chciał napisać soft, który ściągnie wszystkie fotki to i tak to zrobi. A jeżeli fotki będą prosto dostępne to przynajmniej wygeneruje to mniejsze obciążenie na serwerze :-).

pewnie ze to nie jest jakies super zabezpieczenie ale juz ograniczy lamerom rozne kombinacje. dla autora galerii to dodatkowe 5 minut roboty a moze znacznie utrudnic takie dzialnia, moze zamiast twojej galerii ten ktos sciagnie jednak galerie kogos innego gdzie latwiej to zrobic.
Waldemar Jonik

Waldemar Jonik właściciel,
webmaster,
programista, JW Web
Development

Temat: [MySQL] Galeria internetowa

Wojciech Potocki:
Waldemar Jonik:
- nazwa pliku oryginalnego
- nazwa pliku przydzielona przy jego zapisie

Aha czyli podczas uploadu zmieniasz nazwe zdjecia pod jaka je zapisujesz w katalogu dzieki czemu uniknie sie zeby istnialy dwa zdjecia o takiej samej nazwie tak?


tak nazwy zdjec powinno sie zmieniac przy zapisie. jest duze prawdopodobienstwo ze nazwy plikow oryginalnych moga sie potworzyc, poza tym unika sie problemow z samymi nazwami plikow ktore moga zawierac jakies nietypowe znaki, byc pisane malymi/duzymi literami, zawierac znaki narodowe - to wszystko zawsze moze spowodowac jakis problem. a sama nazwe oryginalna warto sobie zapisac. moze sie jeszcze przydac.Waldemar Jonik edytował(a) ten post dnia 14.07.08 o godzinie 08:03

konto usunięte

Temat: [MySQL] Galeria internetowa

Waldemar Jonik:
Ja generalnie zdjęcia zapisuję w jakimś katalogu jako nazwy używając jego id z bazy.

lepiej w nazwie dodawac poza id z bazy jeszcze czesc pseudolosowa np zakodowana w md5()

to tak zeby ktos z automatu nie sciagnal sobie zawartosci calej galerii albo zeby nie odgadywal kolejnych zdjec zmieniajac w adresie www tylko numerek id w nazwie pliku.

Popieram pomysl. Chyba jednal wolalbym microtime().
ps. Md5() to funkcja skrotu.

Pozdrawiam.

Temat: [MySQL] Galeria internetowa

Popieram pomysl. Chyba jednal wolalbym microtime().
ps. Md5() to funkcja skrotu.

Jak sytuacja wymaga takich sztuczek to stosuję md5(rand(100, 10000000)) aczkolwiek sposobów na wygenerowanie losowego ciągu o rozsądnej długości jest multum.
Waldemar Jonik

Waldemar Jonik właściciel,
webmaster,
programista, JW Web
Development

Temat: [MySQL] Galeria internetowa

Popieram pomysl. Chyba jednal wolalbym microtime().
ps. Md5() to funkcja skrotu.

tak , md5() tylko ma sluzyc do zmiany formy zapisu, po co komus ujawianic sposob generacji nazwy gdy wystaczy go ukryc za pomoca md5(), np wartoci zwiazanej z czasem + nazwa oryginalnego pliku. zreszta ta czesc "losowa" doklejana do nazwy to juz wolny wybor

konto usunięte

Temat: [MySQL] Galeria internetowa

jeśli już o galerii mowa :P to ja też mam pytanie, trochę nie związane z bazą danych. Jeśli mam katalog uploaded_images to lepiej tworzyć w nim podkatalog dla każdego użytkownika czy trzymać wszystko razem?

Następna dyskusja:

Zapytanie MySQL




Wyślij zaproszenie do