Hochladen von Dateien mit SFTP
Um Dateien mit SFTP (Secure File Transfer Protocol) in PHP hochzuladen, können Sie die SSH2-Erweiterung verwenden, mit der Sie eine Verbindung zu einem SFTP-Server herstellen und verschiedene Vorgänge wie Hochladen, Herunterladen und Löschen von Dateien ausführen können. Hier ist ein Beispiel dafür, wie Sie die SSH2-Erweiterung verwenden können, um eine Datei auf einen SFTP-Server hochzuladen:
<?php
$connection = ssh2_connect('example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);
$file = '/path/to/local/file.txt';
$remote_file = '/path/to/remote/file.txt';
ssh2_scp_send($connection, $file, $remote_file, 0644);
?>
Dieses Beispiel stellt zunächst mithilfe der ssh2_connect
-Funktion eine Verbindung zum SFTP-Server her, und authentifiziert sich dann mit einem Benutzernamen und Passwort mithilfe der ssh2_auth_password
Funktion. Anschließend öffnet es eine SFTP-Sitzung mithilfe der ssh2_sftp
-Funktion und verwendet dann die ssh2_scp_send
-Funktion, um die Datei hochzuladen.
Alternativ können Sie auch andere Bibliotheken wie phpseclib verwenden, die eine SFTP-Implementierung in reinem PHP bereitstellt.
<?php
include 'Net/SFTP.php';
$sftp = new Net_SFTP('example.com');
if (!$sftp->login('username', 'password')) {
exit('Anmeldung fehlgeschlagen');
}
$local_file = '/path/to/local/file.txt';
$remote_file = '/path/to/remote/file.txt';
$sftp->put($remote_file, $local_file, NET_SFTP_LOCAL_FILE);
?>
Bitte beachten Sie, dass dies nur Beispiele sind und die tatsächliche Implementierung je nach Anforderungen variieren kann.