Comme d'autres l'ont dit - n'utilisez pas FTP - il y a beaucoup, beaucoup de choses qui ne vont pas avec. OTOH, vous devriez probablement utiliser un protocole qui ne nécessite pas que les utilisateurs installent des logiciels supplémentaires côté client; bien que l'accès basé sur ssh (sftp, scp) soit idéal, les machines MSWindows ne sont pas fournies avec un client en standard.
Il n'y a pas de fin de gestionnaire de fichiers disponible écrit en PHP (et probablement aussi dans d'autres langues). IIS fait des choses très étranges avec le tunneling des autorisations NTLM - mais si vous utilisez Apache, cela devrait être raisonnablement sûr - cependant, l'accès aux lecteurs n'est pas aussi simple que la simple lecture de \ server \ username \ - vous devez autoriser le droits d'administrateur du serveur Web sur ces fichiers - mais c'est un cauchemar pour la sécurité!
La façon dont je le fais (pour un type d'application très différent) est de gérer les E / S via smbclient en utilisant le nom d'utilisateur / mot de passe de la session PHP des utilisateurs - mais c'est sur une machine Linux - AFAIK, il n'y a pas d'équivalent sur MSWindows.
Vous voudrez certainement utiliser les informations d'identification fournies par l'utilisateur pour vous authentifier auprès du stockage.
Cela devient rapidement compliqué et effrayant!
Une solution pratique serait donc de permettre aux étudiants de cartographier les disques sur Internet. De cette façon, vous n'avez pas à vous soucier des complications liées à la fourniture d'un gestionnaire de fichiers qui ne fait pas partie intégrante du système d'exploitation (c'est-à-dire directement accessible depuis les applications). Mais vous ne voulez pas exposer votre serveur à quiconque et à tout le monde. Le moyen habituel de résoudre ce problème serait un VPN - et il existe de nombreux bons et bon marché disponibles. Ou enveloppez simplement le service dans SSL avec l'authentification par certificat client. Mais là encore, cela nécessite des installations côté client.
Donc.....
Que diriez-vous d'un formulaire Web pour authentifier un utilisateur à une adresse IP qui crée ensuite un trou limité dans le temps dans le pare-feu pour que cette adresse IP se connecte via SMB (et ils doivent toujours fournir un nom d'utilisateur / mot de passe pour mapper le lecteur bien sûr) .