Der folgende Beitrag wurde am 25. 03. 2004, 14:19 Uhr von Stefan veröffentlicht.
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
Der folgende Beitrag wurde am 25. 03. 2004, 15:31 Uhr von Alexander Foken veröffentlicht.
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".
Der folgende Beitrag wurde am 25. 03. 2004, 15:49 Uhr von Stefan veröffentlicht.
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
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4