Client
class Client extends Client
SFTP-Client
$host = 'example.com';
$user = new \Alvine\Security\Authentication\User('root');
$credential = new \Alvine\Security\Authentication\Credential\Password('geheim');
$config = new \Alvine\Infrastructure\Linux\SSH\Configuration();
$connection = new \Alvine\Infrastructure\Linux\SSH\SFTP\Client($host, $user, $credential, 22, $config);
$status = $connection->getStatus(new \Alvine\IO\File\File('/tmp/example.txt'));
// Enthält Status-Objekt
echo (string) $status->getPermissions();
$list = $connection->getDirectoryList(new \Alvine\IO\File\Directory('/etc'));
// Liefert Collection zurück
echo \implode("\r\n", \explode(',', (string) $list));
// Datei umbenennen
$connection->rename(new \Alvine\IO\File\File('/tmp/example.txt'), new \Alvine\IO\File\File('/tmp/example.txt.backup'));
Constants
LENGTH |
Buffer Größe |
Properties
protected Configuration | $config | from Client | |
protected resource | $session | from Client | |
protected string | $host | from Client | |
protected integer | $port | from Client | |
protected User | $user | from Client | |
protected Credential | $credential | from Client | |
protected string | $fingerprint | from Client | |
protected resource | $sftp |
Methods
Die Verbindung zum Server besteht über die gesamte Lebenszeit des Objektes. Die Verbindung kann jedoch auch vorzeitig durch die Methode Client::disconnect() geschlossen werden. In diesem Fall wird beim ausführen von Befehlen eine Exception geworfen.
Datei übertragen
chmod
Verzeichnis erstellen
Link auslesen
Realpath
Sammelt Daten über ein symbolic Link
Sammelt Daten über ein symbolic Link
Symlink erstellen
Details
at line 87
__construct(string $host, User $user, Credential $credential, integer $port = 22, Configuration $config = null)
Die Verbindung zum Server besteht über die gesamte Lebenszeit des Objektes. Die Verbindung kann jedoch auch vorzeitig durch die Methode Client::disconnect() geschlossen werden. In diesem Fall wird beim ausführen von Befehlen eine Exception geworfen.
in Client at line 153
__destruct()
Verbindung beenden
in Client at line 202
string
getFingerprint()
Fingerabdruck des Servers
Zeichenkette in der Form SSH2_FINGERPRINT_MD5|SSH2_FINGERPRINT_HEX
in Client at line 215
Result
execute(string $command)
Anweisungen ausführen
in Client at line 244
protected string
getError(resource $stream)
Resource
at line 309
Client
sendFile(File $localFile, string $remoteFile, integer $mode = 0660)
Lokale Datei übertragen
in Client at line 308
Client
send(string $data, string $remoteFile, integer $mode = 0660)
Daten übertragen
Eine zeichenkette übertragen und auf dem Zielsystem unter dem Namen $remoteFile abspeichern. Eine vorhandene Datei wird dabei überschrieben. Die Rechte der Datei können über $mode gesetzt werden.
$connection->send('hello world', '/tmp/hallo.txt');
at line 346
Client
receiveFile(string $remoteFile, File $localFile)
Datei übertragen
Daten aus entfernter Datei in eine lokale Datei übertragen.
in Client at line 364
string
receive(string $remoteFile)
Daten empfangen
Daten aus entfernter Datei auslesen und den Inhalt als Zeichenkette zurückgeben. Bei der verarbeitung wird die empfangene Datei in eine temporäre Datei gespeichert.
// Daten empfangen und ausgeben
echo $connection->receive('/tmp/hallo.txt');
at line 109
Client
changePermissions(File $file, integer $mode)
chmod
at line 130
Client
delete(File|Directory $path)
Datei oder Verzeichnis löschen
at line 163
Client
createDirectory(Directory $directory, integer $mode)
Verzeichnis erstellen
at line 184
Client
rename(File $from, File $to)
Datei oder Verzeichnis umbenennen
at line 204
File
getLinkedFileName(string $link)
Link auslesen
at line 225
File
getRealpath(File $file)
Realpath
at line 246
FileStatus
getLinkStatus(File $file)
Sammelt Daten über ein symbolic Link
at line 267
FileStatus
getStatus(File $file)
Sammelt Daten über ein symbolic Link
at line 289
Client
createLink(File $file, File $link)
Symlink erstellen
at line 390
Collection
getDirectoryList(Directory $directory, Closure $filter = null)
Verzeichnis einlesen
Der optionale Filter erlaubt es bestimmte Dateien aus dem Ergebnis auszuschließen. Die Callback-Funktion muss true für akzeptierte Dateien und false für auszuschliessende Dateien zurückgebeben.
// Verzeichnisliste mit Filterung
$list = $connection->getDirectoryList(new \Alvine\IO\File\Directory('/tmp/'), function($path, $directory){
if($path==='.') return false;
if($path==='..') return false;
return true;
});