PHPackages                             kartulin/php-ftp-droid - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. kartulin/php-ftp-droid

AbandonedArchivedLibrary

kartulin/php-ftp-droid
======================

Fast PHP-FTP-client

v1.0.0(3y ago)22MITPHPPHP &gt;=7.4

Since Jun 20Pushed 3y ago2 watchersCompare

[ Source](https://github.com/Kartulin/php-ftp-droid)[ Packagist](https://packagist.org/packages/kartulin/php-ftp-droid)[ Docs](https://github.com/kartulin/php-ftp-droid)[ RSS](/packages/kartulin-php-ftp-droid/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

PHP-FTP-droid (library for PHP-ftp)
===================================

[](#php-ftp-droid-library-for-php-ftp)

[![Latest Version on Packagist](https://camo.githubusercontent.com/173f91c74af7d2b1682fe9e8169090f78a600baaccc9ea8827dbf814b436a121/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6b617274756c696e2f7068702d6674702d64726f69642e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/kartulin/php-ftp-droid)[![Total Downloads](https://camo.githubusercontent.com/ebc300d7e02e9fd6a462ea4fa9a879bac7a0f07f2cd52d674c8acaa3e8e6d6a0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6b617274756c696e2f7068702d6674702d64726f69642e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/kartulin/php-ftp-droid)

Simple and comfortable library for work with FTP protocol. Supports:

- fluent interface
- callbacks
- ftp-ssl connect
- errors bag
- all available [functions PHP-FTP](https://www.php.net/manual/en/ref.ftp.php)
- easy in integration with any php-framework
- /\* **in next release**\*/
- PSR\\LoggerInterface
- async operations
- retry operations

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require kartulin/php-ftp-droid
```

Basic usage
-----------

[](#basic-usage)

```
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();
```

All methods are good [are documented](CHANGELOG.md). You can also read [the documentaion on php.net](https://www.php.net/manual/en/book.ftp.php)
Call every method return the object of FtpDroid client:

```
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"]
  ]
```

You can use unlimited callbacks:

```
$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();
```

### Testing

[](#testing)

```
cooming soon (PHPUnit and PhpStan)
```

### Changelog

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

### Security

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [Kartulin](https://github.com/kartulin)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1429d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/17a72dc4e813b92695f8b08ad2f3dd397cae7e381849dedc608b0ddcd2f6cc3b?d=identicon)[Kartulin](/maintainers/Kartulin)

---

Top Contributors

[![stalkerxxl](https://avatars.githubusercontent.com/u/19319937?v=4)](https://github.com/stalkerxxl "stalkerxxl (2 commits)")

---

Tags

php ftpphp-ftp-droidftp-droidftp-phpphp-ftp-libphp-ftp wrapper

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/kartulin-php-ftp-droid/health.svg)

```
[![Health](https://phpackages.com/badges/kartulin-php-ftp-droid/health.svg)](https://phpackages.com/packages/kartulin-php-ftp-droid)
```

###  Alternatives

[altayalp/ftp-client

FTP and SFTP client for Php

1971.3k](/packages/altayalp-ftp-client)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
