add SafekatFtpClient Library

This commit is contained in:
amazuecos
2024-08-29 01:03:50 +02:00
parent 8e5d208bbf
commit c8335b5740

View File

@ -0,0 +1,48 @@
<?php
namespace App\Libraries;
use FtpClient\FtpClient;
class SafekatFtpClient
{
protected FtpClient $ftp;
protected string $host;
protected int $port;
protected string $username;
protected string $password;
protected string $base_dir;
protected object $ftp_config;
public function __construct()
{
$this->ftp = new FtpClient();
$this->ftp_config = config("FTP");
$this->host = $this->ftp_config->host;
$this->username = $this->ftp_config->username;
$this->password = $this->ftp_config->password;
$this->port = $this->ftp_config->port;
$this->base_dir = $this->ftp_config->base_dir;
}
/**
* Upload the content of $filename to the base directory declared in App\Config\FTP.php
*
* @param string $content
* @param string $filename
* @return boolean
*/
public function uploadXML(string $content, string $filename): bool
{
try {
$remotePath = implode("/", [$this->base_dir, $filename]);
$this->ftp->connect(host: $this->host, port: $this->port);
$this->ftp->login(username: $this->username, password: $this->password);
$this->ftp->putFromString($remotePath, $content);
return true;
} catch (\Throwable $th) {
throw $th;
log_message('error',$th->getMessage());
return false;
}
}
}