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.