idct/sftp-client

库提供围绕SSH2和SFTP的包装方法,简化通过SSH/SCP/SFTP进行文件下载/上传。

0.4.3 2018-11-18 12:45 UTC

This package is auto-updated.

Last update: 2024-09-09 01:39:54 UTC


README

提供围绕SSH2、SCP和SFTP的包装方法,简化通过SSH/SCP/SFTP进行文件下载/上传的库。

警告

我仍在考虑通过传递一个参数来统一下载/上传方法,该参数将定义连接类型,因此方法名称可能会更改。

安装

根据您的项目,直接包含文件或使用自动加载器。

直接使用

只需包含所有必需的文件

include "/path/to/idct/sftp-client/src/AuthMode.php";
include "/path/to/idct/sftp-client/src/Credentials.php";
include "/path/to/idct/sftp-client/src/SftpClient.php";

Composer

只需执行

composer require idct/sftp-client

这将创建包含 idct/sftp-clientvendor 文件夹。然后只需包含自动加载器

include "vendor/autoload.php";

使用方法

在您已安装项目后,在您的项目中导入所需的类

use IDCT\Networking\Ssh\SftpClient;
use IDCT\Networking\Ssh\Credentials;

初始化类的实例

$client = new SftpClient();

为您的SFTP服务器创建授权模式

当您有用户名和密码时

$credentials = Credentials::withPassword($username, $password);
$client->setCredentials($credentials);

当您有公钥时

$credentials = Credentials::withPublicKey($username, $publicKey, $privateKey, $passphrase = null);
$client->setCredentials($credentials);

$publicKey$privateKey 分别是相应文件的路径。

连接到服务器

$client->connect($host);

使用SFTP下载

$client->download(ENTER_REMOTE_FILE_NAME);
$client->download(ENTER_REMOTE_FILE_NAME, ENTER_LOCAL_FILE_NAME);

使用SFTP上传

$client->upload(ENTER_LOCAL_FILE_NAME);
$client->upload(ENTER_LOCAL_FILE_NAME, ENTER_REMOTE_FILE_NAME);

使用SCP下载

$client->scpDownload(ENTER_REMOTE_FILE_NAME);

使用SCP上传

$client->scpUpload(ENTER_LOCAL_FILE_NAME,ENTER_REMOTE_FILE_NAME);

关闭连接

$client->close();

远程前缀,本地前缀

使用方法 setRemotePrefixsetLocalPrefix 设置的前缀允许设置存储的通用目录。请遵循相应上传/下载方法的phpDoc以了解何时进行设置

贡献

如果您发现任何问题或想添加新功能,请使用问题或拉取请求功能:非常感谢代码贡献!

在发送代码之前,请务必运行 fix_code.sh 以清理它。

谢谢!