Datei per FTP verändern.

ICPUI

Mitglied
Hi all

Ich bin da auf ein kleines Problem gestossen. Ich muss auf meinem Server von einer Datei aus über eine FTP Verbindung eine Textdatei verändern. Nun habe ich jedoch in Sachen FTP mit PHP wenig Ahnung und weiss nicht wie ich dies realisieren soll.
Die Verbindung bekomm ich zwar hin und die Befehle ftp_fget und ftp_fput studiert. Mit diesen sollte es ja möglich sein die Datei runterzuladen, zu editieren und dann wieder hochzuladen. Jedoch weiss ich nicht genau wies geht.

Danke schon jetzt für die Hilfe

mfG
ICPUI
 
Hi! :)

Also erstmal muss du eine temporäre Datei bei dir lokal öffnen:

PHP:
$fp = fopen('tmp.txt', 'w');
Dann musst du die andere Datei per ftp_fget holen
PHP:
ftp_fget($ftpStream, $fp, 'remote.txt', FTP_ASCII);
fclose($fp);
Jetzt kannst du die Datei gewohnt öffnen und verarbeiten, sobald du fertig bist wieder mit ftp_fput hochladen.

Beispiel:
PHP:
$ftpstream = ftp_connect('ftp.domain.tld');
$login = ftp_login($ftpstream, 'username', 'password');
if ($login) {
    $fp = fopen('tmp.txt', 'w');

        ftp_fget($ftpstream, $fp, 'remote.txt', FTP_ASCII);

        fclose($fp);

    // Verarbeitung der tmp.txt
    
    $fp = fopen('tmp.txt', 'r');
    ftp_fput($ftpstream, 'remote.txt', $fp, FTP_ASCII);

} else {
 // Login fehlgeschlagen
}
ftp_quit($ftpstream);
 
Danke für die Antwort, jetzt möchte ich jedoch noch wissen, wo die datei remote.txt gespeichert wird nachdem man sie sich geholt hat
 
In tmp.txt (Im Verzeichnis wo das Script ausgeführt wird).

Du öffnest diese ja hier:
PHP:
$fp = fopen('tmp.txt', 'w');
Und fügst den Inhalt der Remotedatei dort ein.
 
Zurück