XLVI. FTP-Funktionen

Einführung

Die Funktionen dieser Erweiterung implementieren den Zugriff auf Server über das File Transfer Protocol (FTP), wie unter http://www.faqs.org/rfcs/rfc959 definiert. Wenn Sie ausschließlich eine Datei von einem FTP-Server lesen oder Schreiben wollen, sollten Sie die Verwendung der ftp:// Wrapper zusammen mit den Filesystem Funktionen in Betracht ziehen. Dies ermöglicht einen einfacheren und intuitivere Zugriff.

Anforderungen

Diese Erweiterung benötigt keine externen Bibliotheken.

Installation

Um die FTP Funktionen zu verwenden muss die Option --enable-ftp verwendet (PHP 4 oder neuer) werden oder die Option --with-ftp (PHP 3).

Die Windowsversion von PHP enthält diese Erweiterung. Um diese Funktionen zu verwenden, müssen Sie keine zusätzlichen Erweiterungen aktivieren.

Laufzeit Konfiguration

Diese Erweiterung definiert keine Konfigurationseinstellungen in der php.ini.

Resource Typen

Diese Erweiterung verwendet ausschließlich einen Resourcen-Typ und zwar den Link-Identifier der FTP-Connection, der von ftp_connect() und ftp_ssl_connect() zurückgeliefert wird.

Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

FTP_ASCII (integer)

FTP_TEXT (integer)

FTP_BINARY (integer)

FTP_IMAGE (integer)

FTP_TIMEOUT_SEC (integer)

Weitere Informationen finden Sie unter ftp_set_option().

Die folgenden Konstanten existieren ab PHP 4.3.0.

FTP_AUTOSEEK (integer)

Weitere Informationen finden Sie unterftp_set_option().

FTP_AUTORESUME (integer)

Ermittelt automatisch die Position zum starten und fortsetzen bei GET und PUT Befehlen. (Funktioniert nur wenn FTP_AUTOSEEK aktiviert ist.)

FTP_FAILED (integer)

Die asynchrone Übertragung ist fehlgeschlagen.

FTP_FINISHED (integer)

Die asynchrone Übertragung ist beendet.

FTP_MOREDATA (integer)

Die asynchrone Übertragung läuft noch.

Beispiele

Beispiel 1. FTP Beispiel

<?php
// Verbindungsaufbau
$conn_id = ftp_connect($ftp_server);

// Login mit Username und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Verbindung überprüfen
if ((!$conn_id) || (!$login_result)) {
        echo
"FTP Verbindung ist fehlgeschlagen!";
        echo
"Verbindungasufbau zu $ftp_server mit Username $ftp_user_name versucht.";
        exit;
    } else {
        echo
"Verbunden zu $ftp_server mit Username $ftp_user_name";
    }

// Datei hochladen
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

// Upload überprüfen
if (!$upload) {
        echo
"FTP-Upload ist fehlgeschlagen!";
    } else {
        echo
"Datei $source_file auf Server $ftp_server als $destination_file hochgeladen";
    }

// FTP Verbidung schließen
ftp_close($conn_id);
?>

Inhaltsverzeichnis
ftp_alloc -- Allocates space for a file to be uploaded
ftp_cdup -- Wechselt in das um eine Ebene höhere Verzeichnis
ftp_chdir -- Verzeichnis-Wechsel auf einem FTP-Server
ftp_chmod -- Ändert die Zugriffsrechte einer Datei über FTP
ftp_close -- Beendet eine FTP Verbindung
ftp_connect -- Stellt eine FTP-Verbindung her
ftp_delete -- Löscht eine Datei auf dem FTP-Server
ftp_exec -- Fordert die Ausführung eines Programmes auf dem FTP-Server an
ftp_fget --  Lädt eine Datei vom FTP-Server und speichert sie in eine geöffnete, lokale Datei (download)
ftp_fput --  Übertragt eine geöffnete Datei auf einen FTP-Server (upload)
ftp_get_option -- Ruft diverse Laufzeitoptionen des ausgewählten FTP-Streams ab
ftp_get --  Liest eine Datei von einem FTP-Server und speichert sie lokal (download)
ftp_login -- Anmelden einer FTP-Verbindung (Login)
ftp_mdtm --  Ermittelt die letzte Änderungszeit der angegebenen Datei
ftp_mkdir -- Erzeugt ein Verzeichnis
ftp_nb_continue -- Nimmt die Übertragung einer Datei wieder auf (nicht blockierend)
ftp_nb_fget --  Überträgt den Inhalt einer Datei von dem FTP-Server und speichert sie in eine lokal geöffnete Datei (nicht blockierend)
ftp_nb_fput -- Speichert eine geöffnete Datei auf den FTP-Server (nicht blockierend)
ftp_nb_get -- Überträgt eine Datei von dem FTP-Server und speichert sie lokal (nicht blockierend)
ftp_nb_put -- Speichert eine Datei auf dem FTP-Server (nicht blockierend)
ftp_nlist --  Gibt eine Liste der im angegebenen Verzeichnis enthaltenen Dateien zurück
ftp_pasv -- Schaltet den passiven Modus ein oder aus
ftp_put --  Überträgt eine Datei auf einen FTP-Server (upload)
ftp_pwd -- Gibt den aktuellen Verzeichnis-Namen zurück
ftp_quit -- Schließt / beendet eine FTP-Verbindung
ftp_raw -- Sendet ein beliebiges Kommando an den FTP-Server
ftp_rawlist --  Gibt eine detaillierte Liste der Dateien in einem angegebenen Verzeichnis zurück
ftp_rename -- Benennt eine Datei auf dem FTP-Server um
ftp_rmdir -- Löscht ein Verzeichnis
ftp_set_option -- Setzt diverse FTP Laufzeitoptionen
ftp_site -- Sendet ein SITE-Kommando zum Server
ftp_size --  Ermittelt die Größe einer angegebenen Datei
ftp_ssl_connect -- Öffnet eine sichere SSL-FTP Verbindung
ftp_systype --  Ermittelt den Systemtyp des entfernten FTP-Servers