mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
48 lines
1.1 KiB
PHP
48 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Libraries;
|
|
|
|
use phpseclib3\Net\SFTP;
|
|
use Config\PresupuestoSFTP;
|
|
|
|
class SftpClientWrapper
|
|
{
|
|
protected SFTP $client;
|
|
|
|
public function __construct(PresupuestoSFTP $config)
|
|
{
|
|
$this->client = new SFTP($config->host, $config->port);
|
|
$this->client->login($config->username, $config->password);
|
|
}
|
|
|
|
public function upload(string $local, string $remote): bool
|
|
{
|
|
return $this->client->put($remote, $local, SFTP::SOURCE_LOCAL_FILE);
|
|
}
|
|
|
|
public function delete(string $remote): bool
|
|
{
|
|
return $this->client->delete($remote);
|
|
}
|
|
|
|
public function exists(string $remote): bool
|
|
{
|
|
return $this->client->file_exists($remote);
|
|
}
|
|
|
|
public function mkdir(string $remote): bool
|
|
{
|
|
return $this->client->mkdir($remote, true);
|
|
}
|
|
|
|
public function chmod(string $path, int $permissions): bool
|
|
{
|
|
return $this->client->chmod($permissions, $path);
|
|
}
|
|
|
|
public function get(string $remotePath, string $localPath): bool
|
|
{
|
|
return $this->client->get($remotePath, $localPath);
|
|
}
|
|
}
|