![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 16.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie !
Chciałbym zasięgnąć pomocy odnośnie stworzenia upload'u , download'u plików z uwzględnieniem przynależności użytkowników do danej grupy, kursów. Jestem dość początkującym koderem php, robię pracę inżynierską , system na zasadzie zarządzania studentami i wymiany prac, ocen, komentarzy pomiędzy studentami a wykładowcą. Mam już zrobiony system logowania, rejestracji, sprawdzania obecności automatycznej po zalogowaniu się studenta itd.. Zrobiłem już również możliwość tworzenia grup i kursów przez wykładowcę do których mogą podłączać się studenci. Po dołączeniu przez studenta do danej grupy i kursu chciałbym aby pliki które upload'uje wykładowca były widoczne dla danej grupy i kursu od strony studenta. Szukałem już podobnych tematów ale większość kończy się na tematyce czy lepiej przechowywać pliki w bazie danych co jest złe czy lepiej na serwerze w plikach. Otóż chciałbym aby wykładowca przy uploadzie mógł z listy rozwijanej , wybrać również daną grupę i kurs dla której udostępniony będzie plik oraz date w której ten kurs będzie wyświetlany. Potem na zasadzie sprawdzenia w bazie danych, przynależności danego studenta do grupy i kursu, plik wyświetlał się do pobrania dla odpowiednich osób i w odpowiednim czasie. Chciałbym aby pliki były przechowywane na serwerze a nie w bazie danych. Jak to mniej więcej zrobić ? Rozumiem , że dużo operacji powinno odbywać się na zasadzie sprawdzania wartosci w bazie danych oraz dopisywaniu ich do odpowiedniej tabeli. Czy mógłby ktoś polecić mi jakiś konkretny przykład? Artykuł ? Odnośnie uplodu i downloadu plików z uwzględnieniem jakiś praw? Mam jeszcze jedno pytanie. System po zalogowaniu przekierowuje na podstawie "roli" w tabeli users odpowiednio jeżeli jest to student to na podstronę panelu studenta oraz jeżeli jest to administrator to na podstronę panelu administratora. Rozwiązałem to za pomocą sesji, która na każdej podstronie należącej do studenta bądź admina sprawdza rolę i wyświetla zawartość danej podstrony. Uniemożliwia to przejście na inną podstronę nawet po wpisaniu ze strony studenta np. adresu podstrony administratora do przeglądarki gdyż na każdej podstronie sprawdzany jest warunek na podstawie przypisanej do sesji roli. Czy to dobre rozwiązanie ?
Ten post edytował kedi1989 16.03.2013, 17:49:29 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Podsumowując, oczekujesz od nas pomysłu, jak stworzyć download rozdzielony dla poszczególnych grup?
No więc tak, na początek będziesz potrzebował stworzyć formularz z uploadem (chyba dla wykładowcy, jeśli dobrze zrozumiałem):
Skoro masz rozpoznawanie pomiędzy student/wykładowca to na pewno poradzisz sobie z odpowiednim zwarunkowaniem ww. inputa, tak aby wyświetlał się dla wykładowcy. Następnie przy uploadzie, przyda się tabelka: Kod | ID_DOWNLOAD | REAL_NAME | FAKE_NAME | GROUP_ID | Przy uploadzie zmieniasz standardową nazwę pliku na coś trudnego, jakiś hash z md5 może być i teraz tak: tworzysz dwie nazwy: a) nazwa prawdziwa, którą przypisujesz do uploadowanego pliku, (IMG:style_emoticons/default/cool.gif) nazwa fikcyjna, przyda się przy autoryzacji czy ten ktoś na bank jest w danej grupie. Potem uploadujesz plik na serwer, już ze zmienioną nazwą, a do bazy wklepujesz takie zapytanie:
Teraz przy downloadzie, np. link: http://mojastrona.pl/download.php?id=FAKE_NAME w pliku: Pobierasz z GETa FAKE_name:
Coś mniej więcej takiego, tyle że dla katalogu /downloady/ jeszcze wrzuć jakiś sensowny htaccess żeby Ci nie listował katalogu. Ten post edytował Michael2318 16.03.2013, 17:56:47 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 16:48 |