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:
ftp_stream: Die Verbindungs-ID, die von der Funktionftp_connect()zurückgegeben wird.remote_file: Der Name der Remote-Datei, auf die die Datei hochgeladen werden soll.local_file: Eine mitfopen()geöffnete Dateihandle-Ressource, die auf die lokale Datei verweist, die hochgeladen werden soll.mode(optional): Der Übertragungsmodus (FTP_ASCIIoderFTP_BINARY). Standardwert istFTP_ASCII.startpos(optional): Die Startposition in der Remote-Datei für den Upload. Standardwert ist0.
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()
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
// 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
// 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?