idct / sftp-client
库提供围绕SSH2和SFTP的包装方法,简化通过SSH/SCP/SFTP进行文件下载/上传。
0.4.3
2018-11-18 12:45 UTC
Requires
- php: >=5.4.0
- ext-ssh2: >=0.12
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.11
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-client
的 vendor
文件夹。然后只需包含自动加载器
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();
远程前缀,本地前缀
使用方法 setRemotePrefix
和 setLocalPrefix
设置的前缀允许设置存储的通用目录。请遵循相应上传/下载方法的phpDoc以了解何时进行设置
贡献
如果您发现任何问题或想添加新功能,请使用问题或拉取请求功能:非常感谢代码贡献!
在发送代码之前,请务必运行 fix_code.sh 以清理它。
谢谢!