Stefan: 3 Files mit ftp_put übertragen klappt nit

Moin,

also langsam werd ich blöde. Ich versuche mit folgenden Code in einer Schleife 3 Dateien zu übertragen.

<snipp>
$upload='';
for($i=0;$i<sizeof($fa);$i++)
{
 $upload = ftp_put($connect, $fa[$i], $fa[$i], FTP_ASCII);
 echo "Übertrage datei ".$fa[$i]."<br />";
}
// Dateien angekommen?
if (!$upload)
    {
      echo "Ftp Upload-Fehler!";
    }
  else
    {
        echo "Dateien $file1, $file2, $file3,  auf $host geschrieben";
    }
</snipp>

Das klappt aber nicht. Es wird nur die erste Datei (fa[0]) übertragen, außerdem lande ich im else-Zweig der upload-Kontrolle. Im Array fa[] sind alle Namen gelistet. Die Testausgabe in der Schleife bestätigt das auch. Die Files sind auch da. Zum testen nutze ich unter W2kSP3 PHP4.3.2 Apache 1.3.x und als ftp-Server PFTPhttp://home.t-online.de/home/m-roth/pro.html (keine Werbung)

Hat jemand ne Idee woran es hapert?

Danke
Stefan

  1. Moin Moin !

    (Am Rande: Willst Du wirklich ASCII-Uploads haben?)

    Du prüfst so nur das letzte Ergebnis von ftp_put, nicht jedes. Ist das clever? Du solltest if in die Schleife ziehen und jedes einzelne ftp_put überprüfen.

    http://us2.php.net/manual/en/function.ftp-put.php hast Du gelesen, insbesondere was problematisches Verhalten von ftp_put angeht?

    Hast Du vielleicht Slashes oder Backslashes in den Dateinamen? Aktives oder passives FTP? Je nach Netzwerk-Verhältnissen klappt mal das eine, mal das andere, mal beides, mal gar keins.

    Ich habe in der PHP-Doku auf die schnelle leider keinen Hinweis darauf gefunden, wie man die (letzte) Fehlermeldung vom FTP-Server bekommen kann. Die wäre extrem hilfreich.

    Alexander

    --
    Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
    1. Auch moin moin,

      (Am Rande: Willst Du wirklich ASCII-Uploads haben?)

      Ja.

      Du prüfst so nur das letzte Ergebnis von ftp_put, nicht jedes. Ist das clever? Du solltest if in die Schleife ziehen und jedes einzelne ftp_put überprüfen.

      Stimmt, sollte man tuen, baue ich doch glatt um ;-).

      http://us2.php.net/manual/en/function.ftp-put.php hast Du gelesen, insbesondere was problematisches Verhalten von ftp_put angeht?

      Stimmt, aber wie sonst? Habe ich was überlesen, oder geht sogar copy().

      Hast Du vielleicht Slashes oder Backslashes in den Dateinamen?

      Nö.

      »»(letzte) Fehlermeldung vom FTP-Server bekommen kann. Die wäre extrem hilfreich.

      Im logile des ftp-Servers wird kein Fehler vermerkt ?? Ich werde mal  jetzt mal versuchen das Script soweit wie möglich mit debug-Ausgaben zu versehen. Hoffe ich finde den Fehler.

      Danke
      Stefan