Datei von FTP-Server auslesen bzw. in array speichern

MC-René

Erfahrenes Mitglied
Hallo!

Ich möchte eine Datei auf einem FTP-Server öffnen und ausgeben (ist eine reine Textdatei, allerdings ohne Dateiendung, sollte php aber egal sein).

Mein "Grundgerüst":

PHP:
<?php

//verbindung zum Server aufbauen
$ftp_server = "ftp-bli-bla.de"; //FTP-Server
$ftp_user_name = "blublu";//Username
$ftp_user_pass = "bloblo"; //Passwort
$ftp_dir = "/special/OF/"; //Ordner

// Herstellen der Basis-Verbindung
$conn_id = ftp_connect($ftp_server); 

// Einloggen mit Benutzername und Kennwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

// Verbindung überprüfen
if ((!$conn_id) || (!$login_result)) { 
        echo "Ftp-Verbindung nicht hergestellt!";
        echo "Verbindung mit $ftp_server als Benutzer $ftp_user_name nicht möglich"; 
        die; 
    } else {
        echo "Verbunden mit $ftp_server als Benutzer $ftp_user_name<br/><br/>";
    }
$files = ftp_nlist ($conn_id, $ftp_dir);
foreach ($files as $list){
$bn[]=basename($list);
echo basename($list)."<br>";
}


// Schließen des FTP-Streams
ftp_quit($conn_id); 

?>

Die Dateinamen werden ordentlich gelesen und das array angezeigt.

Nun möchte ich aber den Inhalt der Dateien auch in ein Array lesen also nach der Art:

PHP:
$bn_inhalt[]=inhalt_ftp(basename($list));  //dies ist nur konstruirt ! :-)

mit "ftp_get" kann ich ja nur die datei auf local speichern... könnte ich ja nutzen:
- mit ftp_get kopieren
- mit fopen auslesen

Gibt es eine schlankere/bessere Lösung?
Oder hat jemand eine Grundlegend andere Idee!?
 
Hallo!

Naja, jeder FTP-Client lädt die Datei zum bearbeiten runter..... und sei es nur temporär.
Warum sollte PHP da eine Ausnahme machen? ;)

Wie Du schon gesagt hast:
runterladen, auslesen, [...] sonstwas machen, [...] löschen.
Je nachdem was Du vor hast, könnte auch ftp_fget() nützlich sein.

Gruss Dr Dau
 
Zurück