Zum Inhalt springen

ftp_fput()

Was ist ftp_fput()?

Die Funktion ftp_fput() ist eine integrierte PHP-Funktion, die eine Datei auf den FTP-Server hochlädt. Die Funktion benötigt fünf Parameter:

  1. ftp_stream: Die Verbindungs-ID, die von der Funktion ftp_connect() zurückgegeben wird.
  2. remote_file: Der Name der Remote-Datei, auf die die Datei hochgeladen werden soll.
  3. local_file: Eine mit fopen() geöffnete Dateihandle-Ressource, die auf die lokale Datei verweist, die hochgeladen werden soll.
  4. mode (optional): Der Übertragungsmodus (FTP_ASCII oder FTP_BINARY). Standardwert ist FTP_ASCII.
  5. startpos (optional): Die Startposition in der Remote-Datei für den Upload. Standardwert ist 0.

Im Gegensatz zu ftp_put(), das einen lokalen Dateipfad als String akzeptiert, erfordert ftp_fput() eine geöffnete Dateihandle-Ressource.

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

Syntax von ftp_fput()

Die Syntax der Funktion ftp_fput() lautet wie folgt:

Syntax von ftp_fput()

php
bool ftp_fput ( resource $ftp_stream , string $remote_file , resource $local_file [, int $mode = FTP_ASCII [, int $startpos = 0 ]] )

Verwendung von ftp_fput()

Um die Funktion ftp_fput() 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_fput() in PHP

php
<?php

// Set up an FTP connection
$conn = ftp_connect('ftp.example.com');
if (!$conn) {
    die("Could not connect to FTP server.");
}

// Login with your FTP credentials
if (!ftp_login($conn, 'username', 'password')) {
    die("Login failed.");
}

// Open the local file
$local_file = fopen('/local/directory/local_file.txt', 'r');
if (!$local_file) {
    die("Could not open local file.");
}

// Upload the file to the remote FTP server
if (ftp_fput($conn, 'remote_file.txt', $local_file, FTP_ASCII)) {
    echo "File uploaded successfully.\n";
} else {
    echo "Failed to upload the file.\n";
}

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

In diesem Beispiel stellen wir eine Verbindung zum FTP-Server mit der Funktion ftp_connect() her und prüfen, ob sie erfolgreich war. Anschließend melden wir uns mit unseren FTP-Zugangsdaten über ftp_login() an und prüfen auf Fehler. Danach öffnen wir die lokale Datei mit fopen(), um das erforderliche Dateihandle zu erhalten. Schließlich laden wir die Datei mit ftp_fput() auf den Remote-FTP-Server hoch und schließen sowohl das Dateihandle als auch die FTP-Verbindung.

Fehlerbehandlung in ftp_fput()

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

Fehlerbehandlung in ftp_fput()

php
<?php

// Assuming $conn is already established via ftp_connect() and ftp_login()
$local_file = fopen('/local/directory/local_file.txt', 'r');
if ($local_file && ftp_fput($conn, 'remote_file.txt', $local_file, FTP_ASCII) === false) {
    echo "Failed to upload the file.\n";
} else {
    echo "File uploaded successfully.\n";
}
fclose($local_file);

In diesem Beispiel prüfen wir den Rückgabewert der Funktion ftp_fput(). Falls er false ist, geben wir eine Fehlermeldung aus; andernfalls eine Erfolgsmeldung. Denken Sie stets daran, das Dateihandle nach dem Vorgang mit fclose() zu schließen.

Fazit

Die Funktion ftp_fput() ist eine nützliche integrierte PHP-Funktion, mit der Sie eine Datei auf einen FTP-Server hochladen können. Durch Befolgen der in diesem Artikel beschriebenen Richtlinien und Best Practices können Sie die Funktion ftp_fput() sicher in Ihren PHP-Projekten einsetzen.

Practice

Was macht die Funktion fput in PHP?

Finden Sie das nützlich?

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