In Datei schreiben mit ftp

Hallo,

Winnis Problem finde ich nicht so trivial - zumindest nicht seine letzte Fehlermeldung:

"failed to open stream: FTP does not support simultaneous read/write connections"
(!)

Mir ist als Anfänger das gleiche passiert.
Komme deshalb nicht weiter und würde mich für schnelle Hilfe bedanken!

Der Fehler erscheint bei mir, weil ich - blöder Weise - eine "$handle=fopen($file,"w");
fwrite($handle,$data);" Kombination erfolgreich ausprobiert hatte (habe nämlich eine Stream-Id zurückbekommen :suspekt: ), dabei aber das:
fclose($handle); vergessen :eek:

Meine Frage: wie kann ich den Stream schliessen, ohne den $handle zu wissen?
Steht er etwa auch in einer GLOBAL? :confused:

Ich programiere schon ein paar Jahre, nur keine Servertechnologien (bisher), arbeite erstmals auf einem Virtual-Server mit allen Rechten und wollte "nur" eine log.datei einrichten.
 
Folgende Methode ist sehr unsauber, meiner Meinung nach, und sollte eigentlich nicht benutzt werden, aber es wäre möglich:

$GLOBALS durchlaufen per Schleife und schauen welche Variable eine Ressource ist ([phpf]is_resource[/phpf]) und dann versuchen per [phpf]fclose[/phpf] zu schließen.

Allerdings finde ich, man sollte wissen welche Dateihandle offen sind und auch schließen...
 
Danke Felix!
finde, dass ist eine gute Idee.... aber:
Bin alle GLOBALS rekursiv durchgegangen, ist keine is_resource() TRUE dabei (nur arrays und strings).
Alle direkten FTP Befehle verlangen ja die Resourcennummer, also, ftp_quit(); oder so funktionieren nicht.

Bleibt die Frage: wo wird das FTP-Protokoll eigentlich durchgeführt, bzw. wie läßt sich die aktuelle Resource herausfinden Und damit wohl beeinflussen - stoppen ...

Da ich wohl Zugriff auf den Server habe, leider aber wenig Ahnung von der Technologie, bräuchte ich einen Hinweis.

*** Warnung für andere FTP-Anfänger: fclose so absichern, dass er auch bei Abbruch noch ausgeführt wird

Hilft das weiter:
SERVER_SIGNATURE is: string ---> Apache/2.0.53 (Linux/SUSE) Server at http://www.nnnn.de Port 80

Danke im Voraus!!
 
Danke Felix,
das Problem Fehler: "failed to open stream: FTP does not support simultaneous read/write connections"
ist doch ein ganz anderes.
Es geht garnicht um einen offene gelassenen FTP-Kanal wie angenommen, sondern allein darum , das ich in fopen(#..', 'a+') den Switch 'a+' = Read + Write gewählt hatte, und dies scheint meine Server-Version oder Einstellung nicht zu wollen. - Sagt die Fehlermeldung eigentlich ja auch deutlich: "not support simultaneous read/write connections".

Also, keine Panik, mit einem normalen fopen(#..', 'a') klappt's wunderbar.
Jetzt kann ich den Threat wohl endlich schließen.
Ciao.
 
Zuletzt bearbeitet:
Zurück