FTP Stream ablegen / speichern

Ibanese

Mitglied
Hallo,

ich habe folgendes Problem. Ich möchte gern einen kleinen FTP Klienten in PHP schreiben und verbinde mich am Anfang einer Session mit meinem FTP-Server.

Soweit alles gut ...

Nun das Problem:
Ich kann leider den FTp-Stream (resource objekt), den ich anfangs erstelle, nirgendswo speichern, oder ablegen, damit ich darauf in anderen Controllern bzw. Actions meines Frameworks (CakePHP) zurückgreifen kann.
PHP setzt bei jedem Ausführen des Skriptes eine neue Instanz auf. D.h. ich muss mir doch irgendwo den Stream speichern können, damit mir dieser nicht verloren geht, oder nicht?

Eine Resource kann ja auch nicht, wie ein normales Objekt, serialisiert werden und somit in eine Session gespeichert werden... wie gehe ich damit um? Muss ich bei jeder Aktion mich neu verbinden und die Verbindung wieder trennen?

Vielen Dank für eure Hilfe

, Iba
 
Versuch es mal mit pfsockopen() statt fsockopen(). Das ist eigentlich das Gleiche nur das du mit psockopen() eine persistente Verbindung aufbaust anstatt einer transienten wie bei fsockopen(). Persistent heißt, dass die Verbindung bestehen bleibt.
 
Selbst bei einer Persistenten Verbindung wird ein Stream erzeugt, der mir einfach verloren geht, wenn die Seite neu geladen wird ....

Ich muss den Stream irgendwo speichern, hinterlegen, das war mein Problem.

, Iba
 
Ich denke mal, dass du nur die Resource ID übermitteln musst. Bisher habe ich mich damit noch nicht so tiefgründig befasst, aber anders kann ich mir den Sinn von zwei verschiedenen fsockopen()-Funktionen nicht erklären.
 
Ich werde vorerst die Benutzerdaten in die Session speichern, oder eben in eine Datenbank und schließlich über die Benutzerdaten mich ständig wieder ein und ausloggen ...

Ist zwar nicht schön, geht aber nicht anders, denke ich ...

Danke trotzdem!

, Iba
 
Zurück