Hinweis: Die id_rsa muss mit der folgenden Zeile beginnen:
-----BEGIN OPENSSH PRIVATE KEY-----
<?php require "vendor/autoload.php"; use phpseclib\Crypt\RSA; use phpseclib\Net\SFTP; $host = ''; $port = 22; $username = ''; $filename = 'id_rsa'; $sftp = new SFTP( $host, $port ); $privateKey = new RSA(); $privateKey->loadKey( file_get_contents( $filename ) ); if( !$sftp->login( $username, $privateKey ) ) { throw new Exception( 'sFTP login failed' ); } $sftp->chdir( 'www' ); $sftp->put( 'newfile.txt', 'new file content' ); $sftp->disconnect(); ?>
Funktionsbeschreibung | Funktionsaufruf |
---|---|
Einloggen | $sftp→login( $username, $privateKey ); |
Liste der verfügbaren Dateien und Verzeichnisse abholen | $sftp→nList(); |
Verzeichnis wechseln | $sftp→chdir( $directory ); |
lokale Datei auf den Server hochladen | $sftp→put( $remoteFilename, $localFilename, SFTP::SOURCE_LOCAL_FILE ); |
Datei auf den Server umbenennen | $sftp→rename( $oldname, $newname ); |
neue Datei auf den Server anlegen | $sftp→put( 'newfile.txt', 'new file content' ); |
Datei vom Server herunterladen | $sftp→get( $remoteFilename, $lcoalFilename ); |
Verbindung zum Server schließen | $sftp→disconnect(); |