kartulin/php-ftp-droid

快速 PHP-FTP 客户端

v1.0.0 2022-06-20 08:34 UTC

This package is auto-updated.

Last update: 2024-09-20 13:36:25 UTC


README

Latest Version on Packagist Total Downloads

用于操作 FTP 协议的简单舒适的库。支持

  • 流式接口
  • 回调函数
  • ftp-ssl 连接
  • 错误包
  • 所有可用的 PHP-FTP 函数
  • 易于与任何 PHP 框架集成
  • /* 下一版本中*/
  • PSR\LoggerInterface
  • 异步操作
  • 重试操作

安装

您可以通过 composer 安装此包

composer require kartulin/php-ftp-droid

基本用法

use Kartulin\FtpDroid\FtpDroid;
// fast example
$ftp = FtpDroid::connect('127.0.0.1', $ssl = false, $port = 21, $timeout = 90)
->login('username', 'password')
->get($local_filename, $remote_filename, $mode = FTP_BINARY, $offset = 0)
->callback(function (FtpDroid $ftp){
if ($ftp->result){
// you logic here...
//see $ftp->errors... 
 }
})->chdir($directory)
->close();

所有方法都有详细的 文档。您还可以阅读 php.net 上的文档
调用每个方法都会返回 FtpDroid 客户端的对象

var_dump($ftp);
 Kartulin\FtpDroid\FtpDroid {#3 ▼
  +hostname: "127.0.0.1"
  +ssl: false
  +port: 21
  +timeout: 90
  -handler: FTP\Connection {#2}
  #logger: null
  +result: true // the result of last method
  +errors: array:1 [▼
    1655710692 => "login"
 // [timestamp_error => "the name of the method that received the error from the ftp server"] 
  ]

您可以使用无限多的回调函数

$ftp = FtpDroid::connect('127.0.0.1', $ssl = false, $port = 21, $timeout = 90)
->login('username', 'password')
->get()
->callback(function (FtpDroid $ftp){
// you logic 1 here...
})->chdir()
->callback(function (FtpDroid $ftp){
// you logic 2 here...
})
->method()
->callback();

测试

cooming soon (PHPUnit and PhpStan)

变更日志

请参阅 CHANGELOG 了解最近的变化。

安全性

如果您发现任何与安全性相关的问题,请通过电子邮件 stalkerxxl@gmail.com 而不是使用问题跟踪器来报告。

致谢

许可协议

MIT 许可协议 (MIT)。有关更多信息,请参阅 许可文件