ftp_nlist bringt kein Ergebnis

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

  • ftp_nlist bringt kein Ergebnis

    Ich habe Probleme mit dem FTP speziell mit dem Listing von Dateien und
    Verzeichnissen. Mit folgendem Script logge ich mich auf diversen Rechnern ein, um das FTP-Verzeichnis auszulesen.

    ###############################################
    Aufbau der FTP-Verbindung
    $ftp_server="192.168.255.255";
    $conn_id = ftp_connect($ftp_server);
    // Login mit username und password
    $user="benutz";
    $passwd="******";
    $login_result = ftp_login($conn_id, $user, $passwd);
    // FTP Verbindung testen
    if ((!$conn_id) || (!$login_result))
    {
    echo "Keine Verbindung";
    } else {
    echo "Verbindung ok";
    // die Dateiliste als Array definieren
    $list=Array();
    $list = ftp_nlist($conn_id,"");
    // wenn keine Dateien im verzeichnis vorhanden sind dann Leermeldung
    if (sizeof($list) == 0)
    {
    echo "Das Verzeichnis ist leer";
    }
    // in einer FOR-Schleife das Verzeichnis nach Dateien durchsuchen
    for($i = 0; $i != sizeof($list); $i++)
    {
    echo "$list[$i]";
    }
    }
    ftp_close($conn_id);
    ###############################################

    Das komische ist bei einigen Rechnern funktioniert es, bei einigen bekomme ich die ECHO-Ausgabe: "Das Verzeichnis ist leer"
    Gehe ich dann von der Betriebssystemebene mit ftp auf die Rechner, welche mir eine Leermeldung bringen, muss ich feststellen das die Verzeichnisse in Wirklichkeit voll sind. Allerdings bekomme ich beim "ls" nachfolgende Warnung:

    ###############################################
    200 PORT command successful.
    150 Opening ASCII mode data connection for '/bin/ls'.
    drwxr-xr-x 5 benutz users 280 May 14 11:52 verzeichnis
    -rw-r--r-- 1 benutz users 4 Apr 2 04:00 datei
    .
    .
    .
    .
    .
    WARNING! 29 bare linefeeds received in ASCII mode
    File may not have transferred correctly.
    ###############################################

    Schalte ich beim FTP mit dem Befehl "bin" auf binary-Modus um, bleibt die
    Warnung nach dem "ls" aus. Ich habe mal versucht dieses "bin" mit ftp_raw und ftp_exec zu übertragen aber auch dies bringt nicht den gewünschten Erfolg. Die Probleme habe ich vor allem wenn ich auf SUSE Linux Sever V81 und höher zugreife. Im tracemode kann man sehen das der Return nur mit einem \n Linefeed erfolgt, während ich z.B. bei Solaris oder Windows Systemen ein \n\r pro Zeile bekomme. Kann es sein das ftp_list hier durcheinander kommt. Sind Bugs bei der PHP 4.3.3 bekannt.

    Kann jemand helfen

  • #2
    Den Unterschied von ASCII und Binär- Daten kennst Du schon oder? Und dass Linux nicht gleich Windoof oder gar Mac ist, weisst Du doch auch oder?

    Wenn der Server Dir dann noch sagt, dass die Files im falschen Modus übertragen wurden ... wo ist dann jetzt das Problem? :-)

    PS die [php ] Tags des Forum sind für alle da :P
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      Du sprichst in Rätseln:

      Sorry aber ich dachte ich wäre hier in einem Forum und nicht beim Oracle von Delphi. Aber ich bitte meine gnadenlose Inkompetenz zu entschuldigen.

      Ich bin mir zwar sicher den Unterschied zwischen ASCII- und Binärdateien zu kennen und auch das UNIX, MAC und WIN unterschiedliche Betriebssysteme sind und UNIX dabei noch Auswüchse wie LINUX und SOLARIS hervorgebracht hat aber trotzdem ist meine Ratlosigkeit damit nicht beseitigt.

      Wenn du meinst ich sollte nach dem FTP_LOGIN auf einen anderen Modus umschalten - kann ich nur wiederholen, dass ich dies bereits getan habe.

      $mode = ftp_exec($conn_id, "binary");

      Deine Anmerkung zu "Dateien übertragen" hab ich auch nicht verstanden. Ich will hier nichts übertragen, ich will nur lesen und zwar alles was im FTP-Verzeichnis steht. Und das gelingt mir weder mit ftp_nlist noch mit ftp_rawlist.

      Also bitte nochmal. Ich hätte gerne einen soliden Lösungshinweis keine klugscheißerischen Sprüche

      Kommentar

      Lädt...
      X