Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP & FTP -> założenia teoretyczne...
Forum PHP.pl > Forum > PHP
KirkoR
Witam. Muszę zbudować moduł FTP dla swojej aplikacji i wacham się jak to wykonać. Ogólnie ma to spełniać następujące wymogi:
Są uczestniczy -> ogóla baza. Oraz imprezy w których owi uczestnicy mogą brać udział. Każdy uczestnik może być w nieograniczonej ilości imprez. Dla uczestników można dodawać pliki. Jednak pliki są rozdzielone według imprezy tzn:
Uczestnik 1 -> Impreza 1 -> Plik 1.doc
...................-> Impreza 1 -> Plik 2.doc
...................-> Impreza 2 -> Plik 1.doc (plik inny niż ten z imprezy 1)
...................-> Impreza 3 -> Plik 2.doc (plik inny niż ten z imprezy 1)
...................-> Impreza 4 -> Plik 1.doc (plik inny niż ten z imprezy 1 oraz 2)

I teraz mam następujacy problem. Czy zrobić to na bazie danej na zasadzie: jedne katalog w którym są przechowywane pliki o nazwach według czasu dodania np.: 2206041651.doc (22.06.2004 16:51 [data dodania]) a prawdziwa nazwa będzie przechowywana w bazie, gdzie będą się znajdowały informacje z jakim uczestnikiem należy skojarzyć plik, do jakiej imprezy etc. Pozwoli to też wyeliminować adresy typu: www.adres.pl/ftp/2206041651.doc tylko adres będzie taki: www.adres.pl/ftp/?user_id=2&impreza_id=3&plik_id=4 (dzięki czemu bez autoryzacji nie będzie można ściągać plików z serwera).

Jednak jest jeszcze drugi sposób. Nie bawić się z SQL tylko najzwyklej to zrobić na zasadzie: .../ftp/user_id/impreza_id/jakis_plik.doc i wszystkie funkcje typu dodawanie, usuwanie etc. zrobić tylko przy pomocy funkcji FTP bez ingerencji z bazą.

Jak myślicie, który sposób jest lepszy?
Dabroz
Drugi wydaje sie prostszy, aczkolwiek pierwszy da Ci wieksza kontrole nad tym co userzy sciagaja....
Zodiac
Oczywiście zapisywanie w bazie jest najlepszym rozwiązaniem.

Ogólnie najwygodniej zrobić funkcję tworzacą nazwę losową i zapisać do katalogu - najlepiej inny dla każdego usera, może byc jeden zależnie od rozwiązania skryptu do pobierania. Pamiętaj Grześ by przy nazwach generwowanych np rand() sprawdzać, czy może taki plik nie istnieje.
kicaj
Bardziej podoba mi sie sposob nr 1. Plik przyjmuje nazwe daty nadania, jest to malo mozliwe ze ktos w tym samym czasie doda plik. Do tego oczywiscie kazdy user ma swoj katalog i/lub `id` ktore jest wiadomo - unikatowe smile.gif
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.