yello: Ordner hochladen

Hallo,

ich habe ein Ordner bzw. eine Domain z.B.: www.irgendeineseite.com/ordner. Kann ich mittels PHP von einer Subdomain, z.B.: www.subdomain.irgendeineseite.com auf den Ordner in www.irgendeineseite.com/ordner Daten ablegen?

Mit dem HTML Tag <input type="file" name="data" id="data" /> kann ich umgehen und auch Daten auf dem Webserver hochladen. Bevor ich anfange wild rum zu doktoren, würde ich gerne wissen, ob es überhaupt möglich ist von einem Subdomain aus Daten in einen Ordner in der Hauptdomain abzulegen.

Schönen Abend noch.
Gruß
yello

  1. Mahlzeit yello,

    Bevor ich anfange wild rum zu doktoren, würde ich gerne wissen, ob es überhaupt möglich ist von einem Subdomain aus Daten in einen Ordner in der Hauptdomain abzulegen.

    Warum sollte das nicht möglich sein? Letztendlich kommt es nur darauf an, ob das Ziel des Formulars, indem sich das <input type="file"> befindet (in der Regel ein serverseitiges Skript), entsprechende Schreibrechte auf dem Zielordner hat.

    URLs spielen dabei keine Rolle (ob nun Subdomain oder nicht) - diese sind Schall und Rauch. Einzig und allein die tatsächliche Ordner- und Berechtigungsstruktur auf dem Server ist relevant.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Hello,

      URLs spielen dabei keine Rolle (ob nun Subdomain oder nicht) - diese sind Schall und Rauch. Einzig und allein die tatsächliche Ordner- und Berechtigungsstruktur auf dem Server ist relevant.

      Nee, das sehe ich jetzt anders.

      die tatsächliche Ordner- und Berechtigungsstruktur auf dem Server ist überhaupt nicht wichtig für die URL/URi, die angesprochen wird per (POST-)Request. Der Server und dessen speuiell dafür installierte Handler (PHP/PERL/...) entscheidet, welcher Ressource/welchem Script er den Request zur Verfügung stellt.

      Das Script entscheidet dann über die Pfade auf dem lokalen Filesystem.

      Entsheidend wird also sein, welche Rechte der Script-Betreiber (oder Owner, je nach Einstellung) auf dem Fileserverice hat.

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. Hi,

        die tatsächliche Ordner- und Berechtigungsstruktur auf dem Server ist überhaupt nicht wichtig für die URL/URi,

        I.a.R. schon - zumindest die innerhalb des htdocs-Verzeichnisses.

        die angesprochen wird per (POST-)Request.

        Dabei kommt der Path-Bestandteil des URLs aber genauso zum tragen.

        Der Server und dessen speuiell dafür installierte Handler (PHP/PERL/...) entscheidet, welcher Ressource/welchem Script er den Request zur Verfügung stellt.

        Was sollen PHP/PERL/... da mitzureden haben?.

        Wenn die aufgerufen werden, dann hat der Server bereits entschieden, wie er die Ressource auf eine Scriptdatei mappt.

        Das Script entscheidet dann über die Pfade auf dem lokalen Filesystem.

        Bei den Daten, die es irgendwohin ausgibt, ja.

        Entsheidend wird also sein, welche Rechte der Script-Betreiber (oder Owner, je nach Einstellung) auf dem Fileserverice hat.

        Ja.

        MfG ChrisB

        --
        “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
        1. Hallo,

          danke für die antworten, aber wie würde dann der pfad aussehen?

          ich möchte von einem formular auf www.subdomain.maindomain.com/upload.php
          eine datei in den ordner in www.maindomain.com/pdfs/ daten ablegen.

          Würde der pfad wie folgt aussehen? Wie gesagt, der Code unten ist auf www.subdomain.maindomain.com/upload.php

          move_uploaded_file($_FILES["datei"]["tmp_name"], "../../pdfs/" . $_FILES["datei"]["name"]);

          vielen dank
          yello

          1. Hello,

            ich möchte von einem formular auf www.subdomain.maindomain.com/upload.php
            eine datei in den ordner in www.maindomain.com/pdfs/ daten ablegen.

            Würde der pfad wie folgt aussehen? Wie gesagt, der Code unten ist auf www.subdomain.maindomain.com/upload.php

            Mit PHP als abarbeitendem Handler würde (bisher) immer der Filesystem-interne Pfad von Interesse sein. Dieser kann absolut angegeben werden. Welche Notation da akzeptiert wird, hängt auch vom OS und dessen üblichen Filesystemen ab. Bei Linux wird man mit Laufwerksbuchstaben nichts anfangen können.

            Ob die Ablage an der gewünschten Stelle möglich ist, hängt also von den Gepflogenheiten im jeweiligen Filesystem/OS ab und ob der jeweilige User dort auch Rechte hat. Uder ist meistens der Benutzer des Scripts. Das kann der Webserver sein oder auch der Eigentümer des Webaccounts.

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
            Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
        2. Hello,

          die tatsächliche Ordner- und Berechtigungsstruktur auf dem Server ist überhaupt nicht wichtig für die URL/URi,

          I.a.R. schon - zumindest die innerhalb des htdocs-Verzeichnisses.

          Nein, für die hochgeladenen Daten überhaupt nicht, für den Handler im HTTP-Server nur insoweit, dass dieser den Pfad (teilweise) 1:1 auf das Dateisystem überträgt.

          die angesprochen wird per (POST-)Request.

          Dabei kommt der Path-Bestandteil des URLs aber genauso zum tragen.

          Nur insoweit, wie der HTTP-Server (HTTP hier auch nur als Beispiel) diesen "Pfad" (teilweise) 1:1 abbildet auf das Filesystem, das ihm zur Verfügung steht.

          Der Server und dessen speziell dafür installierte Handler (PHP/PERL/...) entscheidet, welcher Ressource/welchem Script er den Request zur Verfügung stellt.

          Was sollen PHP/PERL/... da mitzureden haben?.

          Die eingerichteten Handler bekommen den vom Server vorgekauten Request zur Verfügung gestellt und müssen dann weiter damit leben. Ob ein Script an einer durch die URL direkt beschriebenen Stelle liegen muss, oder obn der Handler daran noch Mitspracherecht hat, entscheidet der Handler oder dessen Installationsroutine.

          Wenn die aufgerufen werden, dann hat der Server bereits entschieden, wie er die Ressource auf eine Scriptdatei mappt.

          Der "Media Access Path" ist eine Einstellung. Das "Mapping" als substantiierte Form der Re-Adjektivierung der Substantiierung der Abkürung "MAP" von "Media Access Path" ist vollständig abhängig von allen zu durchlaufenden Schichten, also vom HTTP-Server, dessen eingerichten Handlern und den dafür eingerichteten Konfigurationen.

          Da spielen solche Sachen wie "SSI" und "Rewrite-Mode" schon mal eine Rolle. Beim HTTP-Server kommt jedenfalls erstmal (verständisgemäß) nur ein String an. Was der dann damit macht, ist dessen Sache.

          Ähnliches gilt für die nachfolgenden Stufen.

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

          --
          Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de
          1. Hi,

            Der Server und dessen speziell dafür installierte Handler (PHP/PERL/...) entscheidet, welcher Ressource/welchem Script er den Request zur Verfügung stellt.

            Was sollen PHP/PERL/... da mitzureden haben?.

            Die eingerichteten Handler bekommen den vom Server vorgekauten Request zur Verfügung gestellt

            Und zwar wann?
            Genau dann, wenn der URL erst mal auf eine Script-Datei gemappt werden konnte.

            Ob ein Script an einer durch die URL direkt beschriebenen Stelle liegen muss, oder obn der Handler daran noch Mitspracherecht hat, entscheidet der Handler oder dessen Installationsroutine.

            In wie fern sollen der Handler oder seine Installationsroutine irgendwas zu sagen haben?

            Wenn aus der URL nicht auf eine Scriptdatei gemappt werden kann, dann kommt der Handler überhaupt nicht erst zum tragen.

            Der "Media Access Path" ist eine Einstellung. Das "Mapping" als substantiierte Form der Re-Adjektivierung der Substantiierung der Abkürung "MAP" von "Media Access Path" ist vollständig abhängig von allen zu durchlaufenden Schichten, also vom HTTP-Server, dessen eingerichten Handlern und den dafür eingerichteten Konfigurationen.

            Wenn mein Eindruck, dass du gerade durch Einwerfen möglichst vieler (Pseudo-)Fachbegriffe davon ablenken willst, dass du auf dem Holzweg bist, täuschen sollte - dann erkläre es bitte auch für mich verständlich.

            Da spielen solche Sachen wie "SSI" und "Rewrite-Mode" schon mal eine Rolle. Beim HTTP-Server kommt jedenfalls erstmal (verständisgemäß) nur ein String an. Was der dann damit macht, ist dessen Sache.

            Eben - ob er ihn überhaupt an PHP/PERL übergibt, auch.

            MfG ChrisB

            --
            “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
            1. Hallo,

              Der Server und dessen speziell dafür installierte Handler (PHP/PERL/...) entscheidet, welcher Ressource/welchem Script er den Request zur Verfügung stellt.
              Was sollen PHP/PERL/... da mitzureden haben?.
              Die eingerichteten Handler bekommen den vom Server vorgekauten Request zur Verfügung gestellt

              Und zwar wann? Genau dann, wenn der URL erst mal auf eine Script-Datei gemappt werden konnte.

              Das trifft auf den Apachen zu, der selbst bei CGI-Anwendungen vorher auf Existenz prüft. Daran haben wir uns alle gewöhnt. Das ist aber kein Standard.

              Ob ein Script an einer durch die URL direkt beschriebenen Stelle liegen muss, oder obn der Handler daran noch Mitspracherecht hat, entscheidet der Handler oder dessen Installationsroutine.
              In wie fern sollen der Handler oder seine Installationsroutine irgendwas zu sagen haben?

              Genau genommen nutzt der Apache einen (internen) Handler, der ganz zum Schluss (also beispielsweise nach mod_rewrite) guckt, ob er eine Datei findet, die er entweder ausliefert, oder einem weiteren Handler (z. B. CGI) angibt. Mod_rewrite ist hier übrigens ein gutes Stichwort. Mit der Flag [PT] kann nämlich das eben beschriebene Verhalten beeinflusst werden. Das führt im Falle eines CGI-Programmes dazu, dass die Pflichvariable SCRIPT_NAME mit einem nicht existenten Pfand gefüllt sein kann. Noch Deutlicher wird dieses Verhalten bei mod_fastcgi.

              Wenn aus der URL nicht auf eine Scriptdatei gemappt werden kann, dann kommt der Handler überhaupt nicht erst zum tragen.

              PHP kann im Apachen auch als sogenannter Filter eingesetzt werden, was noch zu Deiner Frage nach der Installationsroutine anzumerken ist.
               Ein anderes Beispiel wäre lighttpd. Der überlässt es dem Administrator zu entscheiden, ob der Server von sich aus tätig werden soll, angeforderte Ressourcen mit im FS aufzuspüren, oder ob der Handler sich selbst darum zu kümmern hat. Es ist also nicht selbstverständlich, das der Webserver alle Arbeiten vorab macht und Toms Anmerkung ist von der Betrachtung, hier in die mitwirkenden Bestandteile zu unterteilen, zwar theoretischen aber berechtigt. Denn an sich macht eine Webserver nichts weiter, als eingehende Verbindungen entgegenzunehmen und mit den Herrschaften da draußen HTTP zu labern. Alles andere dahinter sind Handler - seien es einkompilierte, in Programmbibliotheken gegliederte oder über Schnittstellen angesprochene.

              Gruß aus Berlin!
              eddi

  2. Hi,

    ich habe ein Ordner bzw. eine Domain z.B.: www.irgendeineseite.com/ordner. Kann ich mittels PHP von einer Subdomain, z.B.: www.subdomain.irgendeineseite.com auf den Ordner in www.irgendeineseite.com/ordner Daten ablegen?

    liegen diese beiden Domains auf derselben Maschine? Vermutlich ja. Also brauchst du doch gar nicht mit Dateiuploads herumzutricksen, sondern kannst die Daten direkt in die entsprechenden Verzeichnisse ablegen.

    Ciao,
     Martin

    --
    Das Gehirn ist schon eine tolle Sache: Es fängt ganz von allein an zu arbeiten, wenn man morgens aufsteht, und hört erst damit auf, wenn man in der Schule ankommt.
      (alte Schülererkenntnis)