Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Freigabeverzeichnis im Netz

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Freigabeverzeichnis im Netz

    Servus.
    Hab da mal ne Frage.
    Wie kann ich mir Dateien/Verzeichnisse von einem Freigabeverzeichnis im Intra- oder Internet auf meine lokale Platte ziehen? Natürlich via Browser und PHP.
    Folgender Code funzt einwandfrei:
    Code:
    $src = "http://www.xyz.tld/dir1/dir2/file.zip";
    $dst = "/tmp/zips/file.zip";
    if(copy($src, $dst)):
         echo "done...
    \n";
    endif;
    Aber wie klappt das nun bei Freigabeverzeichnissen? Hier müsste ich mich ja zuerst mal authentifizieren und so? Oder net? Die Addy von einem Freigabeverzeichnis ist in der Regel ja \\domain\dir1\dir2\file.zip
    Bin jetzt grad en bissi verwirrt, bin für jeden Vorschlag dankbar...

    Dank und Gruß,
    Andy

  • #2
    Hi!

    Die sogenannte "Addy" ist ein UNC-Pfad (Unified Name Convention).
    Schau mal unter winguides.com > Allow UNC Paths at the Command Prompt nach.

    Die Lösung hat bei mir funktioniert und ich kann über UNC-Pfade auf freigegebene Verzeichnisse und Dateien zugreifen.

    Kommentar


    • #3
      Open your registry and find or create the key below.

      Create a new DWORD value, or modify the existing value, called "DisableUNCCheck" and set it according to the value data below.
      Mööööp Kann das leider nicht gebrauchen. Kann ja nicht jedem Kunden erklären, das er in der Registry rumwurschdeln muss...
      Muss doch ne anderen Möglichkeit geben... *denk* *grübel*

      Kommentar


      • #4
        Mööööp .... dann schick' den Leuten eine vorbereitete .reg-Datei die ausgeführt werden soll. Den Wert in der eigenen Registry anlegen, Exportieren, .reg-Datei per eMail schicken mit Bitte um Doppelklick und anschließendem Neustart. Sollte jedem zumutbar sein. Inhalt der .reg-Datei:
        Code:
        Windows Registry Editor Version 5.00
        
        [HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
        "DisableUNCCheck"=dword:00000001
        Fertig.

        Kommentar


        • #5
          Hm... muss ich mal später drüber nachdenken. Werd aber zuerst noch en bissi weiter experimentieren. Das "Problem" das ich habe ist folgendes:
          Warning: copy(\\domain\dir1\dir2\test.txt): failed to open stream: No such file or directory in ...
          Das heißt, mein Dateiname passt irgendwie nicht. Oder aber es ist eine Rechte-Sache.
          Ich will die Datei zwar kopieren, aber wenn es nicht anders geht, würd ich auch mittels fopen() oder fsockopen() arbeiten... D.h. Datei öffnen, Inhalt kopieren, lokal Datei erzeugen, dort Inhalt reinschreiben *würg*

          Edit:
          Ich habe mir jetzt eine Funktion geschrieben, die mir aus \\domain eine gültige IP-Adresse macht. Komme ich so vielleicht weiter?

          Kommentar


          • #6
            a) No such file or directory = Datei bzw. Verzeichnis wurde nicht gefunden
            b) Permission denied: Berechtigungen nicht ausreichend, setzt voraus, dass a) nicht eintritt.

            Da die Datei in Deinem Fall gar nicht erst gefunden wird, ist b) vorerst einmal vollkommen ausgeschlossen.

            Wenn es mit copy() nicht funktioniert, wird es logischerweise mit fopen() ebenfalls nicht funktionieren.

            Wenn Du das über Socket-Verbindungen abwicklen möchtest, empfehle ich Dir den Einstiegspunkt NFS - Network File System und das Request For Comments RFC 3530 - Network File System (NFS) version 4 Protocol als Grundlage für die Realisierung. Ich wage zu bezweifeln, dass Du dieses machen willst.

            Alternativ kannst Du den UNC-Pfad via Batch-File und subst einem Laufwerksbuchstaben zuweisen und dann wieder ganz Normal mit L:\pfad\datei.zip auf die Datei zugreifen.

            Kommentar


            • #7
              Das Problem dürfte der Webserver sein, der keine Rechte hat, im internen Netzwerk auf Dateien zuzugreifen. In der Standardkonfigurtion ist das nämlich gesperrt.

              Gruß
              phpfan

              Kommentar


              • #8
                Zitat von phpfan
                Das Problem dürfte der Webserver sein, der keine Rechte hat, im internen Netzwerk auf Dateien zuzugreifen. In der Standardkonfigurtion ist das nämlich gesperrt.

                Gruß
                phpfan
                Klingt logisch... Und wo entsperre ich das? php.ini?

                Kommentar


                • #9
                  Betriebssystem? Webserver? Falls Windows, als Dienst eingerichtet?

                  Gruß
                  phpfan

                  Kommentar


                  • #10
                    Slackware Linux mittem Apache 1.3.31

                    Kommentar


                    • #11
                      Da ist mein Latein am Ende, wie man das bei Linux ändert, keine Ahnung.

                      Gruß
                      phpfan

                      Kommentar


                      • #12
                        shice... Naja, gut... trotzdem danke!

                        Kommentar


                        • #13
                          Slackware Linux? Gut, dann dürfte der Windows-Registry Tipp auch geschmeidig in die Tonne gehören.

                          Funktioniert das mounten eines freigegebenen Verzeichnisses?

                          Kommentar


                          • #14
                            Es ist so:
                            Mein Webserver ist auch gleichzeitig Fileserver. Das heißt, die Freigaben befinden sich auf ein und der selben Maschine.
                            Auf dem Websever entwickele ich auch meine Programme, Scripte etc. ...
                            Das heißt, mounten ist ansich ja nicht nötig...
                            Der ganze schmus mittels PHP-Script via Netz auf die Dateien zugreifen muss aber sein, da es ja nur jetzt bei mir so is, währende der Entwicklung. Deshalb kann ich ja nicht den relativen Pfad benutzen ^^

                            Kommentar


                            • #15
                              Das bedeutet, die Skripte werden später auf verschiedenen, mehreren Servern laufen und auf Deinen Flieserver über ein freigegebenes Verzeichnis zugreifen, korrekt?

                              Ich habe mal ein wenig gewühlt und hotscripts > phpSMB gefunden.
                              phpsmb is a php class that allows you to access windows (smb) network shares and services. it uses samba's smbclient, smbstatus and nmblookup. Version 0.8 includes several new methods and the ez_smb function. Accessing windows shares through php is as easy as: $list = ez_smb('//hostname/share/directory');
                              Könnte das etwas für Dich sein?

                              Kommentar

                              Lädt...
                              X