2016-07-11 9 views
1

Ich kann keine Antwort darauf finden, da sich die meisten Probleme um eine Datei drehen, die nicht existiert oder einen Löschvorgang nicht funktioniert.PHP ftp_delete() generiert Warnung "Befehl in Ordnung"

Ich habe ein FTP-Gerät, wo ich eine Datei mit einem PHP-Skript generieren. Danach versuche ich per FTP, die Datei zu holen und danach zu löschen.

Das alles funktioniert gut, ich kann verbinden, die Datei abrufen und lokal speichern und dann löschen. Bis auf eine Sache, die ftp_delete() Funktion führt zu einer Warnung.

PHP mir folgendes gibt, wenn das Skript ausführen:

Ein PHP-Fehler aufgetreten
Schweregrad: Warnung
Nachricht: ftp_delete(): Befehl in Ordnung

ich aufsah der Fehlercode, es bedeutet, dass es erfolgreich war. Und das liegt daran, dass die Datei auf dem FTP-Gerät gelöscht wurde.

Warum generiert dies einen PHP-Fehler?

Prost.

+0

Sie können den Fehler unterdrücken mit '@ ftp_delete' –

+1

Dies funktioniert in der Tat. Aber ich möchte immer noch herausfinden, warum PHP mir den Fehler gibt. – Clemenz

+0

Dies führt auch dazu, dass meine If-Anweisung falsch auswertet. Das gibt dem Benutzer die falsche Ausgabe. Der Benutzer erhält eine Fehlermeldung, auch wenn die Datei gelöscht wird. – Clemenz

Antwort

1

Die RFC 959 (FTP-Spezifikation) erfordert, dass nach erfolgreicher Beendigung des Befehls DELE der Server mit 250 Statuscode antworten sollte.

Die PHP-FTP-Implementierung ist sehr streng und gibt eine Warnung für jeden anderen Code, auch wenn es einen Erfolg anzeigt (2xx Klasse).

Ihr Server verwendet wahrscheinlich einen anderen Code 2xx, wie ein generischer 200 Command okay.

+0

Das erklärt viel. Ich denke, ich werde mit dem 200 Code arbeiten müssen. Vielen Dank. – Clemenz

Verwandte Themen