Anzeige:
Ergebnis 1 bis 6 von 6

Thema: PHP-FTP Upload

  1. #1
    Registrierter Benutzer
    Registriert seit
    06.01.2004
    Beiträge
    6

    PHP-FTP Upload

    ich habe hier ein ftp-Upload script, was aber nicht so funktioneren will wie es soll. ich füge den Code mal ein:
    Code:
    <?php
    
    // Die Variablen 
    $ftp_server = "ftp.meineadresse.dyndns.org";
    $benutzername = "user";
    $passwort = "passwort";
    
    // Die Verbindung herstellen
    $connection_id = ftp_connect("$ftp_server");
    
    // Mit Benutzername und Kennwort anmelden
    $login_result = ftp_login($connection_id, "$benutzername", "$passwort");
    
    // überprüfen ob alles gutgegangen ist
    if ((!$connection_id) || (!$login_result)) {
    echo "<H1>Ftp-Verbindung nicht hergestellt!<H1>";
    echo "<p>Verbindung mit ftp_server als Benutzer $benutzername nicht möglich!</p>";
    die;
    } else {
    echo "<p>Verbunden mit ftp_server als Benutzer $benutzername </p>";
    }
    
    // Hochladen der datei
    $upload = ftp_put($connection_id, $zieldatei, $lokale_datei, FTP_ASCII);
    
    // Upload-Status überprüfen
    if (!$upload) {
    echo "<p>Ftp upload war fehlerhaft!</p>";
    } else {
    echo "<p>Datei $slokale_datei auf $host als $zieldatei geschrieben </p>";
    }
    
    // Schließen der Verbindung
    ftp_quit($connection_id);
    ?>
    die verbindung wird korrekt hergestellt. ich bekomme aber folgende Fehlermeldung:

    Warning: ftp_put(): 'STOR' not understood in /srv/www/htdocs/test/ftpupload.php on line 24

    Ftp upload war fehlerhaft!

    ich hab auch schon mal in der Zeile 24 geändert "FTP_ASCII in FTP_BINARY" aber das hat auch keinen Effekt.

    Kann mir da mal jemand helfen?

    Micha

  2. #2
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638
    Folgendes habe ich in der Doku bei php.net gefunden:
    I just try to upload some file with ftp_put and I always received the following error :
    "Cannot STOR. Cannot change Port if not closed"

    The solution is to set the passive mode on with ftp_pasv($conn_id, true);
    Vielleicht behebt das auch Dein Problem.

    Pingu

  3. #3
    Registrierter Benutzer
    Registriert seit
    06.01.2004
    Beiträge
    6
    ok, könnte passen ich probiers mal aus. Ich muss bloss mal sehen wie ich das da reinbastele

  4. #4
    Registrierter Benutzer
    Registriert seit
    06.01.2004
    Beiträge
    6
    also ich hab das Script jetzt noch mal umgebaut. des Pssiv modus schein jetzt zu klappen. Ein wechsel ins Verzeichnis "Upload" hab ich auch noch eingefügt, der klappt auch. Aber die fehlermeldung lautet immer noch
    "Warning: ftp_put(): 'STOR' not understood in /srv/www/htdocs/test/ftptest.php on line 36"

    hier noch mal das neu gestrickte script

    PHP-Code:
    // Connect to firewall
    $conn_id ftp_connect("ftp.meinserver.dyndns.org");

    // Open a session to an external ftp site
    $login_result ftp_login ($conn_id"user""pass");

    // Check open
    if ((!$conn_id) || (!$login_result)) {
           echo 
    "Ftp-connect failed!"; die;
       } else {
           echo 
    "Connected.";
       }

    // turn on passive mode transfers
    $mode ftp_pasv ($conn_idtrue) ;

    //Check Mode
    if (!$mode) {
           echo 
    "Passiv failed!"; die;
       } else {
           echo 
    "Passiv Mode ON </p>";
       }

    //wechsel nach Upload
    $change ftp_chdir($conn_id"/upload");

        
    //Check Directory
    if (!$change) {
           echo 
    "Kann nicht nach /upload wechseln"; die;
       } else {
           echo 
    "Verzeichnis ist /upload </p>";
       }
      
    // Hochladen der datei
    $upload ftp_put($conn_id$zieldatei$lokale_dateiFTP_BINARY);

    // Upload-Status überprüfen
    if (!$upload) {
    echo 
    "<p>Ftp upload war fehlerhaft!</p>";
    } else {
    echo 
    "<p>Datei $slokale_datei auf $host als $zieldatei geschrieben </p>";
    }

    // Schließen der Verbindung
    ftp_quit($conn_id); 
    PS: ich hab das Script mal auf meinem Webserver getestet, da klappt das wunderbar. Aber auf meinem Homeserver will das nicht klappen
    Geändert von shaitan (06-01-2004 um 21:48 Uhr)

  5. #5
    Registrierter Benutzer
    Registriert seit
    06.11.2003
    Ort
    Byreuth
    Beiträge
    50
    auf deinem homeserver? hast du 2 oder mehrere pc daheim, also ein netzwerk und den ftp server auf dem einen und das script auf dem anderen, oder alles auf einem? wenn alles auf einem ist probier doch einfach mal als adresse: "127.0.0.1"! das hilft manchmal wunder! wenn du den ftp server auf nem anderen pc hast, dann probier doch mal die ip vom server! das geht auch "extern". also statt www.google.de kannst du auch die direkte ip eingeben! ich glaube es liegt irgendwie an der dns funktion oder so! so habe ich schon einige probleme mit verbindung zu andern machichen gelöst

    johnpatcher
    ich liebe linux

  6. #6
    Registrierter Benutzer
    Registriert seit
    06.01.2004
    Beiträge
    6
    ich probiers mal aus. Danke.
    Ich melde mich dann noch mal

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •