Problem mit FTP-Upload via PHP

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

  • Problem mit FTP-Upload via PHP

    Hallo, ich habe folgendes Script geschrieben.
    Eigentlich soll die ausgewählte Date per FTP hochgeladen werden. Aber das is nicht so ganz der Fall.

    Es wird lediglich eine Datei erstellt welche 0kb groß ist.

    Kann mir da eventuell jemand weiterhelfen?

    PHP-Code:
    <table>
    <tr><form action='index.php?step=2' method='post'>
     <td>Server Adresse: </td>
     <td><input type='Text' name='ftp_server'> </td>
    </tr>
    <tr>
     <td>Username: </td>
     <td><input type='Text' name='ftp_user_name'> </td>
    </tr>
    <tr>
     <td>Passwort: </td>
     <td><input type='password' name='ftp_user_pass'> </td>
    </tr>
    <tr>
     <td colspan='2'><input type='file' name='sorce_file'> </td>
    </tr>
    <tr>
     <td colspan='2'><input type='submit' value='und ab damit'> </td>
    </tr></form>
    </table>

    <?php
    if($HTTP_GET_VARS[step]=="2")
    {
    $destination_file="$source_file";
    // 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); 
    }
    ?>
    Anwälte in Vulkane werfen -
    Wer anderen eine Bratwurst brät, der besitzt ein Bratwurstbratgerät!

  • #2
    html:
    <input type='file' name='sorce_file'>

    php:
    $destination_file="$source_file";


    ausserdem gehören variablen nicht in " eingeschlossen. ebenso ist dir die verwendung von $_FILES ausdrücklich gestattet.
    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
      OffTopic:
      warum, schreibst du das "":?
      PHP-Code:
      ..., "$destination_file",... 

      Die Musikreview Seite

      hi, i'm a signature virus. copy me into your signature to help me spread.

      Kommentar


      • #4
        danke dir für das schnelle finden des wirklich dähmlichen Fehlers *grummel*

        bitte nicht über die syntax schimpfen *g*
        das ist einfach nur eine testdatei um zu testen wie das genau funktioniert
        Anwälte in Vulkane werfen -
        Wer anderen eine Bratwurst brät, der besitzt ein Bratwurstbratgerät!

        Kommentar


        • #5
          Original geschrieben von flyingMiATA
          das ist einfach nur eine testdatei um zu testen wie das genau funktioniert
          na und? auch da darf man sich an einen syntax halten.

          oder schreibst du testscripte extra so doof? und die echten machst du korrekt? das glaube ich nicht.


          EDIT:
          wer nämlich mit h schreibt, ist dämlich. gleiches gilt auch für deine de-syntax -> dähmlichen
          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


          • #6
            Original geschrieben von Tartax
            OffTopic:
            warum, schreibst du das "":?
            PHP-Code:
            ..., "$destination_file",... 

            der code ist von php.net, habe den erstmal 1:1 übernommen
            Anwälte in Vulkane werfen -
            Wer anderen eine Bratwurst brät, der besitzt ein Bratwurstbratgerät!

            Kommentar


            • #7
              leider bekomme ich immer die meldung das der upload fehlerhaft war

              in der phpinfo() steht das ftp enabled ist.

              kann mir da wer noch nen tip geben?
              Anwälte in Vulkane werfen -
              Wer anderen eine Bratwurst brät, der besitzt ein Bratwurstbratgerät!

              Kommentar


              • #8
                Original geschrieben von Abraxax
                na und? auch da darf man sich an einen syntax halten.

                oder schreibst du testscripte extra so doof? und die echten machst du korrekt? das glaube ich nicht.

                korrekt ist relativ, ich versuch mich lediglich an mir bekannte sachen zu halten. Aber eben das muss ich doch in enem testscript nicht wirklich machen.


                EDIT:
                wer nämlich mit h schreibt, ist dämlich. gleiches gilt auch für deine de-syntax -> dähmlichen
                Na da haben wir ja die gleiche de-syntax. Gleiches schreibt man am Satzanfang groß
                Anwälte in Vulkane werfen -
                Wer anderen eine Bratwurst brät, der besitzt ein Bratwurstbratgerät!

                Kommentar


                • #9
                  OffTopic:
                  wer nähmlich mit 'h' schreibt ist klug!


                  Ja, und Syntax schreibt man auch groß, aber sich über schreibfehler aufzuregen ist dähmlich
                  Die Musikreview Seite

                  hi, i'm a signature virus. copy me into your signature to help me spread.

                  Kommentar


                  • #10
                    1. sicher, dass überhaupt ein upload stattfindet aus dem form => enctype?
                    2. <input type='file' name='sorce_file'> != $source_file
                    3. würdest du nur einen dateinamen übertragen, da der upload ohne copy/move_uploaded_file keine datei erzeugt hat
                    4. get & post vars zu mischen ist suboptimal
                    5. wo steht eigentlich dass variablen bei funktionsaufrufen in "" gesetzt werden sollen/müssen?
                    6. wenn es deine php-version zulässt solltest du mit $_POST, $_GET, $_FILES arbeiten statt $HTTP_* arbeiten
                    Kissolino.com

                    Kommentar


                    • #11
                      Original geschrieben von flyingMiATA
                      Na da haben wir ja die gleiche de-syntax. Gleiches schreibt man am Satzanfang groß
                      sollte es dir noch nicht aufgefallen sein ... ich schreibe konsequent klein.

                      Original geschrieben von Tartax
                      [ot] wer nähmlich mit 'h' schreibt ist klug!
                      ich glaube, dass du ne therapie brauchst.....
                      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


                      • #12
                        Original geschrieben von Wurzel
                        3. würdest du nur einen dateinamen übertragen, da der upload ohne copy/move_uploaded_file keine datei erzeugt hat
                        doch. der upload befindet sich als datei in /tmp auf linux-systemen.

                        aber eine prüfung, ob der upload erfolgreich war, um die datei dann direkt aus /tmp auf das entfernte system zu übertragen, wäre u.u. sinnvoll... ;-)
                        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


                        • #13
                          Original geschrieben von Wurzel
                          1. sicher, dass überhaupt ein upload stattfindet aus dem form => enctype?
                          2. <input type='file' name='sorce_file'> != $source_file
                          3. würdest du nur einen dateinamen übertragen, da der upload ohne copy/move_uploaded_file keine datei erzeugt hat
                          4. get & post vars zu mischen ist suboptimal
                          5. wo steht eigentlich dass variablen bei funktionsaufrufen in "" gesetzt werden sollen/müssen?
                          6. wenn es deine php-version zulässt solltest du mit $_POST, $_GET, $_FILES arbeiten statt $HTTP_* arbeiten
                          Danke für die Hinweise,
                          wie oben schon geschrieben ich habe den Code aus dem PHP.net der stammt nicht wirklich aus meiner Feder. Ich habe den so 1:1 übernommen. Daher sind die Variablen etc nicht angepasst. In "" standen die vorher schon, hat mich auch gewundert. aber da ich noch nie was per ftp und php gemacht habe habe ich das mal so gelassen.
                          Anwälte in Vulkane werfen -
                          Wer anderen eine Bratwurst brät, der besitzt ein Bratwurstbratgerät!

                          Kommentar


                          • #14
                            Original geschrieben von Abraxax
                            sollte es dir noch nicht aufgefallen sein ... ich schreibe konsequent klein.

                            ich glaube, dass du ne therapie brauchst.....
                            der Spruch hat schon bei meinem deutschlehrer nicht gefruchtet
                            Anwälte in Vulkane werfen -
                            Wer anderen eine Bratwurst brät, der besitzt ein Bratwurstbratgerät!

                            Kommentar


                            • #15
                              Original geschrieben von flyingMiATA
                              der Spruch hat schon bei meinem deutschlehrer nicht gefruchtet
                              tja. wie gut, dass ich keinen deutschlehrer mehr habe ...

                              </ot>
                              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

                              Lädt...
                              X