Upload auf seperaten FTP-Server

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

  • Upload auf seperaten FTP-Server

    Habe schon die Suchfunktion genutzt aber nichts passendes dazu gefunden.

    Es geht darum, dass ich einen Web-Server habe auf dem PHP etc. alles installiert ist und auch die Seite läuft darüber.
    Auf der page soll es eine upload funktion geben die das hochgeladene file via formular auf den ftp läd.
    Zwar könnte man das so machen, dass es erst "temporär" auf dem web-server via move_uploaded_file gespeichert wird und dann mittels ftp_fputs auf den ftp-server verschoben wird, doch stellt sich mir die Frage ob es nicht geschickter und "performance-freundlicher" geht

    Gruss
    Flo

  • #2
    du kannst es nur so machen, wie du beschrieben hast.

    erst auf den webserver, dann via ftp auf den anderen rechner.

    oder du lässt das upload-script direkt auf dem anderen rechner laufen.

    oder aber du gibst dem user ftp-daten zum direkten upload.

    diese möglichkeiten hast du.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      hmm, ich frage mich ob das moveto sein muss, ober ob man nicht direkt auf das TEMP-File zugreifen kann. Was aber nur eine Pfadänderung ersparen sollte.

      Also viel performanter ist das nicht. Aber das geht wohl auch kaum. Da müsstest du schon die Files kleiner machen

      Kommentar


      • #4

        Habe das mal getestet, bekomme jedoch ne Fehlermeldung die ich nicht wirklich verstehe und über die mir auch google keinen Aufschluss geben kann, denn egal ob ich nun mit dem move_uploaded_file arbeite oder das nicht mache kommt diese Fehlermeldung:
        "Warning: ftp_put() expects parameter 1 to be resource, boolean given in /home/www/web1/html/files/ftp.php on line 26"
        PHP-Code:
        <?php

        if(!isset($m)){
        ?>
        <form method="POST" action="ftp.php?m=u" enctype="multipart/form-data">
        <p><input type="file" name="upload" size="20"><input type="submit" value="Abschicken" name="B1"><input type="reset" value="Zurücksetzen" name="B2"></p>
        </form>
        <?
        }else{

        $loginuser = "user";
        $loginpass = "pass";
        $loginpath = "serverpfad";

        $ftpc = ftp_connect($loginpath);
        $log = ftp_login($ftpc, $loginuser, $loginpass);

        move_uploaded_file($upload,"/home/www/web1/html/files/$upload_name");


        $quelldatei = $upload_name;
        echo $quelldatei;
        $zieldatei = $upload_name;
        echo $zieldatei;

        if (!ftp_put($log, $zieldatei, $quelldatei, FTP_BINARY))
        {
        print "Konnte keinen Upload durchführen!";
        }
        else
        {
        print "Datei $quelldatei erfolgreich hochgeladen.";
        }
        @ftp_quit($ftpc);
        }
        ?>

        Kommentar


        • #5
          naja, ist eigentlich ziemlich eindeutig, finde ich. die frage ist, ob du wirklich mit dem ftp-server verbunden bist.

          mach mal echo $log.

          Kommentar


          • #6
            mach mal statt log ein ftpc.

            Kommentar


            • #7
              da kommt dann "1" raus, also true wenn ich mich nicht irre

              Kommentar


              • #8
                das ist doch schonmal was. und was ist, wenn du mein post danach auch noch berücksichtigst?=

                Kommentar


                • #9
                  sorry hab ich übersehen bzw. hat sich das wohl genau überschnitten, wenn ich die andere variable per echo ausgebe kommt das:

                  Resource id #1

                  Kommentar


                  • #10
                    siehste wohl! Das sollte dir den Hinweis gegeben haben, oder nicht!

                    (Das Post war nicht so gemeint, dass du das im echo auswechseln sollst, sonden im puts().

                    Kommentar


                    • #11
                      ne hab leider keine ahnung
                      denn das bedeutet, dass irgendwas nich stimmt, aber ich weis nicht was


                      falls du es so meintest:
                      fputs($ftpc);

                      dort kommt dann
                      Wrong parameter count for fputs()
                      Zuletzt geändert von [pG]Flo; 17.08.2003, 23:53.

                      Kommentar


                      • #12
                        wo holst du denn das fputs her???

                        Mensch! Ich hab weniger (noch nie) mit den FTP-Fkt gearbeitet und habs trotzdem schon gechekt! Das kann man von SQL 1:1 überleiten

                        Kommentar


                        • #13
                          du meintest ja irgendwas mit puts() und das gibts nicht hab ich haltn fputs reininterpretiert

                          habs gecheckt was du meintet geht nun, vielen Dank vorallem für die prompte Hilfe
                          Zuletzt geändert von [pG]Flo; 18.08.2003, 00:08.

                          Kommentar


                          • #14
                            wunderbar!

                            Da kannst du mal sehen, was für kleinigkeiten einem Programmierer oft das Leben schwer machen..

                            Kommentar

                            Lädt...
                            X