Jak powiedzieli inni - nie używaj FTP - jest z nim wiele, wiele rzeczy nie tak. OTOH, prawdopodobnie powinieneś użyć protokołu, który nie wymaga od użytkowników instalowania dodatkowego oprogramowania po stronie klienta; chociaż dostęp oparty na ssh (sftp, scp) byłby idealny, maszyny MSWindows nie są standardowo dostarczane z klientem .
Nie ma końca dostępnych menedżerów plików napisanych w PHP (i prawdopodobnie także w innych językach). Usługi IIS wykonują kilka bardzo dziwnych rzeczy z tunelowaniem uprawnień NTLM - ale jeśli używasz Apache, powinno to być dość bezpieczne - jednak dostęp do dysków nie jest tak prosty, jak tylko odczyt z \ server \ nazwa użytkownika \ - musisz zezwolić na prawa administratora serwera WWW do tych plików - ale to koszmar bezpieczeństwa!
Sposób, w jaki to robię (w przypadku zupełnie innego rodzaju aplikacji) to obsługa we / wy za pośrednictwem smbclient przy użyciu nazwy użytkownika / hasła z sesji użytkowników PHP - ale to na komputerze z systemem Linux - AFAIK, nie ma odpowiednika w MSWindows.
Z pewnością będziesz chciał użyć poświadczeń podanych przez użytkownika do uwierzytelnienia w pamięci.
To szybko staje się przerażające, skomplikowane!
Praktycznym rozwiązaniem byłoby więc umożliwienie uczniom mapowania dysków w Internecie. W ten sposób nie musisz martwić się o komplikacje związane z udostępnianiem menedżera plików, który nie jest integralną częścią systemu operacyjnego (tj. Bezpośrednio dostępny z aplikacji). Ale nie chcesz udostępniać swojego serwera nikomu i każdemu. Zwykłym sposobem rozwiązania tego problemu jest VPN - i jest dostępnych wiele dobrych i tanich . Lub po prostu umieść usługę w SSL z uwierzytelnianiem certyfikatu klienta. Ale znowu wymaga to instalacji po stronie klienta.
Więc.....
Co powiesz na formularz internetowy do uwierzytelnienia użytkownika na adresie IP, który następnie tworzy ograniczoną czasowo lukę w zaporze ogniowej, aby ten adres IP mógł się połączyć przez SMB (i nadal musi podać nazwę użytkownika / hasło, aby oczywiście zamapować dysk) .