mirror of https://github.com/YGGverse/YGGo.git
ghost
2 years ago
10 changed files with 294 additions and 39 deletions
Binary file not shown.
@ -0,0 +1,90 @@
@@ -0,0 +1,90 @@
|
||||
<?php |
||||
|
||||
class Ftp { |
||||
|
||||
private $_connection; |
||||
private $_passive; |
||||
|
||||
public function __construct(bool $passive = true) { |
||||
|
||||
$this->_passive = $passive; |
||||
} |
||||
|
||||
public function connect(string $host, |
||||
int $port, |
||||
mixed $login = null, |
||||
mixed $password = null, |
||||
string $directory = '/', |
||||
int $timeout = 90) { |
||||
|
||||
if (!$this->_connection = ftp_connect($host, $port, $timeout)) { |
||||
|
||||
return false; |
||||
} |
||||
|
||||
if (!ftp_pasv($this->_connection, $this->_passive)) { |
||||
|
||||
return false; |
||||
} |
||||
|
||||
if (!empty($login) && !empty($password)) { |
||||
|
||||
if (!ftp_login($this->_connection, $login, $password)) { |
||||
|
||||
return false; |
||||
} |
||||
} |
||||
|
||||
return ftp_chdir($this->_connection, $directory); |
||||
} |
||||
|
||||
public function delete(string $target) { |
||||
|
||||
return ftp_delete($this->_connection, $target); |
||||
} |
||||
|
||||
public function copy(string $source, string $target) { |
||||
|
||||
return ftp_put($this->_connection, $target, $source); |
||||
} |
||||
|
||||
public function get(string $source, string $target) { |
||||
|
||||
return ftp_get($this->_connection, $source, $target); |
||||
} |
||||
|
||||
public function mkdir(string $name, bool $recursive = false) { |
||||
|
||||
if ($recursive) { |
||||
|
||||
$path = []; |
||||
|
||||
foreach ((array) explode('/', trim($name, '/')) as $directory) { |
||||
|
||||
$path[] = $directory; |
||||
|
||||
@ftp_mkdir($this->_connection, implode('/', $path)); |
||||
} |
||||
|
||||
} else { |
||||
|
||||
@ftp_mkdir($this->_connection, $name); |
||||
} |
||||
} |
||||
|
||||
public function size(string $target) { |
||||
|
||||
if (-1 !== $size = ftp_size($this->_connection, $target)) { |
||||
|
||||
return $size; |
||||
|
||||
} |
||||
|
||||
return false; |
||||
} |
||||
|
||||
public function close() { |
||||
|
||||
return ftp_close($this->_connection); |
||||
} |
||||
} |
Before Width: | Height: | Size: 159 KiB After Width: | Height: | Size: 161 KiB |
Loading…
Reference in new issue