Netzlaufwerkzugriff via PHP - einfach so möglich?

  • PHP

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von 3daycliff.

    Netzlaufwerkzugriff via PHP - einfach so möglich?

    Guten Tag,

    da ich es gerade leider nicht selber testen kann und ich auf die Schnelle nicht fündig wurde, stelle ich hier meine Frage, in der Hoffnung, dass mir jemand helfen kann.

    Es geht darum, dass ich ein Skript habe, welches in PHP geschrieben ist und dem Nutzer ermöglicht, Dateien auf meinem Webserver hochzuladen. Die Dateien befinden sich dann bspw. unter /uploads.
    Das funktioniert soweit auch alles super.
    Nur möchte ich die Dateien stattdessen auch auf ein Netzlaufwerk speichern.
    Reicht es, hier nur den Pfad entsprechend anzupassen?
    Das Laufwerk ist geschützt, nur bestimmte Windows-Benutzerkonten haben darauf Zugriff.
    Nur wie läuft die Verifizierung ab? Muss mein Webserver irgendwie Zugriff haben oder reicht es, wenn man nur als der User in Windows eingeloggt ist? Die Seite ruft man per Browser ganz normal auf.

    Wäre um Hilfe sehr dankbar!
    Hi,

    bissl zweideutig, also

    - willst du jetzt dass dein PHP-Skript anstatt auf den Webserver nun auf ein Netzlaufwerk speichert
    - oder dass man ein Netzlaufwerk erstellt um Dateien auf dem Server abzulegen (dass das dann ohne PHP-Skript läuft)
    ?

    Generell hast du ja einen (Quasi-)Server auf dem alle Benutzerkonten angelegt sind wie sie auch jeweils an den Endgeräten vorhanden sind. Eben damit man sich die Passworteingabe sparen kann. Jetzt ist natürlich noch die Frage was der Ziel-Server (zu dessen Freigabe das Netzlaufwerk ja zeigt) für ein Betriebssystem hat.

    Link :thumbup:
    Hello World
    Das erste, also Hochladen von Dateien AUF ein Netzlaufwerk.

    Ich programmiere gerade etwas für meine Firma.
    Das ganze läuft zurzeit auf meinem eigenen linux basiertem Server.
    Man kann das dann über domain.de aufrufen.
    Der User kann dann, wie bereits gesagt, Dateien hochladen.
    Bisher wurde das von mir so gehandhabt, dass die Dateien auf meinem Server abgelegt wurden, was auch problemlos ging.
    Jetzt ist allerdings gewünscht, dass die Dateien stattdessen hier auf das Netzlaufwerk gespeichert werden sollen.
    Wie das hier mit den Laufwerken gemanaged wird, kann ich leider nicht sagen. Weiß nur, dass das mit dem Benutzerkonto wohl authorisiert wird. So habe ich z.B. nur Zugriff auf L:/test1, nicht aber auf L:/test2.
    Meine Frage also:
    Wenn ich das Skript änder, dass er anstatt zu /uploads die Dateien hochlädt, auf L:/test1/uploads stelle, ob das einfach so geht, wenn der Nutzer natürlich die entsprechenden Rechte hat oder geht das nicht?
    Der Upload geht ja eigentlich von meinem Webserver aus oder? Oder guckt das Laufwerk einfach nur, welcher Nutzer angemeldet ist?
    Hm, ein Netzlaufwerk ist im Prinzip nur ein Verweis auf ein Verzeichnis auf einen anderen Server. Du könntest das Verzeichnis auf dem Server auch direkt unter Windows mit \\server\pfad\zur\freigabe ansprechen.
    Unter Linux würdest du entsprechend die Freigabe vom Server via SMB mounten (Aufgabe für euren Netzwerkadmin) und dann als /gemountete/freigabe auf den Webserver ansprechen, nix mit "L:".

    Wenn die Freigabe gemountet ist, solltest du die Datei einfach via move_uploaded_file mit PHP kopieren können.

    Sicherheitstechnisch solltest du das aber gut absichern, wenn das außerhalb des LANs erreichbar ist...