[PHP5] Datei von einem Server zum anderen

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

  • [PHP5] Datei von einem Server zum anderen

    Hallo, ich hab ein kleines Problem: ich hab auf meinem Lokalen Server eine Datei und will diese Datei auf meinen WebServer laden. Hab schon gedacht ich füge einfach file felder ein, füge die URL per value ein und schicke das Formular ab, aver das value geht ja nicht bei File feldern. Wie kann man das sonst noch machen, so das ich nicht die Datei manuell auswählen muss? Die URL der datei hab ich... Hab schon an FTP gedacht, nur find ich dazu hier wenig...

  • #2
    z.B. per fsockopen Verbindung aufbauen, dann ein POST mit den Daten absetzen

    Kommentar


    • #3
      PHP Manual?!

      http://de.php.net/manual/de/ref.ftp.php
      Simploo CMS - das einfache Webseiten-Bearbeitungsprogramm

      Kommentar


      • #4
        hm, per ftp? hmm, ich glaub das wird nix... hab das hier zetzt mal gefunden

        PHP-Code:

        <?php
        function PostToHost($host$path$referer$data_to_send) {
        $fp fsockopen($host,80);
        printf("Open! 
        "
        );
        fputs($fp"POST $path HTTP/1.1 
        "
        );
        fputs($fp"Host: $host 
        "
        );
        fputs($fp"Referer: $referer 
        "
        );
        fputs($fp"Content-type: application/x-www-form-urlencoded 
        "
        );
        fputs($fp"Content-length: ".strlen($data_to_send).
        "
        );
        fputs($fp"Connection: close 

        "
        );
        fputs($fp"$data_to_send 
        "
        );
        printf("Sent! 
        "
        );
        while(!
        feof($fp)) {
        $res .= fgets($fp128);
        }
        printf("Done! 
        "
        );
        fclose($fp);

        retu
        $res
        ;
        }

        $data "pid=14&poll_vote_number=2";

        printf("Go! 
        "
        );
        $x PostToHost(
        "www.linux.com",
        "/polls/index.phtml",
        "http://www.linux.com/polls/index.phtml?pid=14",
        $data
        );
        ?>
        problem: WIE KANN ICH DA BILDER SENDEN??

        Kommentar


        • #5
          hm ... etwa so

          POST <url> HTTP/1.0
          Content-Type: multipart/form-data; boundary=<something>
          Content-Length: <length>


          Content-Disposition: form-data; name="..."; filename="..."
          Content-Type: application/...

          <hier Dateidaten>

          Kommentar


          • #6
            also ich habs jetzt mal mit FTP versucht und bin auf diesen Code gestoßen:

            PHP-Code:
            <?php
            // Herstellen der Basis-Verbindung
            $conn_id ftp_connect("$ftp_server"); 

            // Einloggen mit Benutzername und Kennwort
            $login_result ftp_login($conn_id"$ftp_user_name""$ftp_user_pass"); 

            // Verbindung überprüfen
            if ((!$conn_id) || (!$login_result)) { 
                    echo 
            "Ftp-Verbindung nicht hergestellt!";
                    echo 
            "Verbindung mit $ftp_server als Benutzer $ftp_user_name nicht möglich"
                    die; 
                } else {
                    echo 
            "Verbunden mit $ftp_server als Benutzer $ftp_user_name";
                }

            // Upload der Datei
            $upload ftp_put($conn_id"$destination_file""$source_file"FTP_BINARY); 

            // Upload-Status überprüfen
            if (!$upload) { 
                    echo 
            "Ftp upload war fehlerhaft!";
                } else {
                    echo 
            "Datei $source_file auf $ftp_server als $destination_file geschrieben";
                }

            // Schließen des FTP-Streams
            ftp_quit($conn_id); 
            ?>
            Also die Verbindung bekomme ich, nur wo kann ich eingeben in welchen ordner hochgeladen werden soll, und wie muss die variable $source_file bzw destination_file aussehen?

            Kommentar


            • #7
              warum liest du kein Manual
              http://www.php.net/manual/en/ref.ftp.php

              Kommentar


              • #8
                nunja, es steht da einfach nicht... also destination und source File müssen als Pfad da angegeben werden, oder was? Und zwar wenn ich mich mit nem FTP Programm einlogge von da aus, oder was? oder vom Server Root? Ich blick ned durch, wie muss denn so eine Variable aussehn?

                Kommentar


                • #9
                  schon mal ftp_chdir angeschaut?

                  Kommentar


                  • #10
                    juhuu, ich habs tatsächlich geschafft das zusammenzubasteln!! Danke! Nurnoch ein kleines Problem: Damit ich auf meinem Lokalen Server (Xampp) Bilder schreiben kann muss ich ja einem ordner chmod 777 geben. Auf meinem Webserver mach ich das ganz einfahc per FTP client, aber wie mach ich das lokal bei xampp??!???

                    Kommentar


                    • #11
                      OffTopic:
                      vielleicht sollte man es zum sticky-post hinzufügen: xampp ist keine anwendung. das das ganze paket einen gemeinsamen installer hat, hat nichts zu bedeuten. hab gerade ein paar posts zurück gelesen: "bla, problem, winxp+xampp".
                      datei/ordner eigenschaften -> sicherheit (oder so).

                      Kommentar

                      Lädt...
                      X