Zum Inhalt springen

ftp_fget()

Was ist ftp_fget()?

Die ftp_fget()-Funktion ist eine integrierte PHP-Funktion, die eine Remote-Datei vom FTP-Server abruft und in einer lokalen Datei speichert. Die Funktion erwartet fünf Parameter:

  1. ftp_stream: Die Verbindungs-ID, die von der Funktion ftp_connect() zurückgegeben wird.
  2. handle: Ein lokaler Dateizeiger, der zum Schreiben geöffnet wurde.
  3. remote_file: Der Pfad zur Remote-Datei auf dem FTP-Server.
  4. mode: Der Übertragungsmodus (FTP_ASCII oder FTP_BINARY).
  5. resumepos: Die Startposition in der Remote-Datei für die Übertragung.

Die Funktion gibt einen booleschen Wert zurück. Wenn der Abruf der Datei erfolgreich war, gibt sie true zurück. Andernfalls gibt sie false zurück.

Syntax von ftp_fget()

Die Syntax der Funktion ftp_fget() lautet wie folgt:

Syntax von ftp_fget()

php
bool ftp_fget ( resource $ftp_stream , resource $handle , string $remote_file [, int $mode = FTP_ASCII [, int $resumepos = 0 ]] )

Die Funktion ftp_fget() erwartet fünf Parameter: ftp_stream, handle, remote_file, mode und resumepos. Der Parameter ftp_stream ist die Verbindungs-ID, die von der Funktion ftp_connect() zurückgegeben wird. Der Parameter handle ist ein lokaler Dateizeiger, der zum Schreiben geöffnet wurde. Der Parameter remote_file ist der Pfad zur Remote-Datei auf dem FTP-Server. Der Parameter mode ist ein optionaler Parameter, der den Übertragungsmodus angibt, und der Parameter resumepos ist ein optionaler Parameter, der die Startposition der Übertragung festlegt.

Verwendung von ftp_fget()

Um die Funktion ftp_fget() zu verwenden, müssen Sie zunächst eine Verbindung zum FTP-Server mit der Funktion ftp_connect() herstellen. Hier ist ein Beispiel:

Verwendung von ftp_fget() in PHP

php
<?php

// Set up an FTP connection
$conn = ftp_connect('ftp.example.com');

// Login with your FTP credentials
ftp_login($conn, 'username', 'password');

// Open a local file pointer for writing
$handle = fopen('/local/directory/local_file.txt', 'w');

// Retrieve the remote file and save it to the local file pointer
ftp_fget($conn, $handle, 'remote_file.txt', FTP_ASCII);

// Close the file pointer and the FTP connection
fclose($handle);
ftp_close($conn);

In diesem Beispiel stellen wir eine Verbindung zum FTP-Server mit der Funktion ftp_connect() her. Anschließend melden wir uns mit unseren FTP-Zugangsdaten über die Funktion ftp_login() an. Danach öffnen wir einen lokalen Dateizeiger zum Schreiben. Abschließend rufen wir die Remote-Datei ab und speichern sie mit der Funktion ftp_fget() im lokalen Dateizeiger und schließen den Dateizeiger sowie die FTP-Verbindung.

Fehlerbehandlung in ftp_fget()

Es ist wichtig, Fehler bei der Verwendung der Funktion ftp_fget() ordnungsgemäß zu behandeln. Wenn die Funktion false zurückgibt, bedeutet dies, dass die Datei aus irgendeinem Grund nicht abgerufen werden konnte. Hier ist ein Beispiel für die Fehlerbehandlung:

Fehlerbehandlung in ftp_fget()

php
<?php

if (ftp_fget($conn, $handle, 'remote_file.txt', FTP_ASCII) === false) {
    echo "Failed to retrieve the file.\n";
} else {
    echo "File retrieved successfully.\n";
}

In diesem Beispiel prüfen wir den Rückgabewert der Funktion ftp_fget(). Falls er false ist, wird eine Fehlermeldung ausgegeben; andernfalls eine Erfolgsmeldung.

Fazit

Zusammenfassend lässt sich sagen, dass die Funktion ftp_fget() eine nützliche integrierte PHP-Funktion ist, mit der Sie eine Remote-Datei von einem FTP-Server abrufen und in einer lokalen Datei speichern können. Indem Sie die in diesem Artikel beschriebenen Richtlinien und Best Practices befolgen, können Sie die Funktion ftp_fget() in Ihren PHP-Projekten mit Sicherheit einsetzen. Wir hoffen, dass dieser Artikel für Sie hilfreich war und Ihnen die notwendigen Informationen zur Funktion vermittelt hat. Wenn Sie weitere Fragen haben oder zusätzliche Unterstützung benötigen, zögern Sie bitte nicht, uns zu kontaktieren.

Practice

Welche Funktionalität hat die ftp_fget()-Funktion in PHP?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.