PHPackages                             huasituo/ftp - 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. [HTTP &amp; Networking](/categories/http)
4. /
5. huasituo/ftp

ActiveLibrary[HTTP &amp; Networking](/categories/http)

huasituo/ftp
============

Huasituo Laravel Ftp

1.5.0(8y ago)034MITPHPPHP &gt;=5.6.4

Since Dec 16Pushed 8y ago1 watchersCompare

[ Source](https://github.com/huasituo/ftp)[ Packagist](https://packagist.org/packages/huasituo/ftp)[ RSS](/packages/huasituo-ftp/feed)WikiDiscussions master Synced today

READMEChangelog (5)DependenciesVersions (6)Used By (0)

Laravel5-FTP
============

[](#laravel5-ftp)

Configuration
-------------

[](#configuration)

Run `php artisan vendor:publish` and modify the config file(`config/ftp.php`) with your ftp connections.

You can add dynamic FTP connections with following syntax

```
Config::set('ftp.connections.key', array(
           'host'   => '',
           'username' => '',
           'password'   => '',
           'passive'   => false,
));
```

Accessing connections
---------------------

[](#accessing-connections)

You can access default FTP connection via the `FTP::connection` method:

```
FTP::connection()->getDirListing(...);
```

When using multiple connections you can access each specific ftp connection by passing connection name:

```
FTP::connection('foo')->getDirListing(...);
```

Sometimes you may need to reconnect to a given ftp:

```
FTP::reconnect('foo');
```

If you need to disconnect from a given ftp use the disconnect method:

```
FTP::disconnect('foo');
```

Basic usage examples
--------------------

[](#basic-usage-examples)

```
// With custom connection
$listing = FTP::connection('my-ftp-connection')->getDirListing();

// with default connection
$listing = FTP::connection()->getDirListing();
$status = FTP::connection()->makeDir('directory-name');
```

Supported methods
-----------------

[](#supported-methods)

**getDirListing($directory, $parameters )**

Returns a list of files in the given directory

- `$directory`: The directory to be listed. Default value: `.`.
- `$parameters`: Optional parameters to prefix with directory. For example: `-la`. Default: `null`.

**getDirListingDetailed($directory)**

Returns a list of files in the given directory as an associative array with the following keys: rights, number, user, group, size, month, day and time

- `$directory`: The directory to be listed. Default value: `.`.

**makeDir($directory)**

Creates the specified directory on the FTP server.

- `$directory`: The name of the directory that will be created.

**changeDir($directory)**

Changes the current directory on a FTP server.

- `$directory`: The target directory.

**uploadFile($fileFrom, $fileTo, $mode)**

Uploads a local file to the FTP server.

- `$fileFrom`: The local file path.
- `$fileTo`: The remote file path.
- `$mode`: The transfer mode. Must be either `FTP_ASCII` or `FTP_BINARY`. Automatic mode resolution will be done if no mode is specified.

**downloadFile($fileFrom, $fileTo, $mode)**

Downloads a file from the FTP server

- `$fileFrom`: The remote file path.
- `$fileTo`: The local file path (will be overwritten if the file already exists) or an open file pointer in which we store the data.
- .
- `$mode`: The transfer mode. Must be either `FTP_ASCII` or `FTP_BINARY`. Automatic mode resolution will be done if no mode is specified.

**readFile($fileFrom)**

Same as the `downloadFile()` method except it downloads the remote file to the PHP output buffer and returns it.

- `$fileFrom`: The remote file path.

**moveUp()**

Changes to the parent directory.

**permission($mode, $filename)**

Set permissions on a file.

- `$mode`: The new permissions, given as an octal value.
- `$filename`: The remote file.

**delete($path)**

Deletes the file specified by path from the FTP server.

- `$path`: The file to delete.

**currentDir()**

Returns the current directory name

**rename($oldName, $newName)**

Renames a file or a directory on the FTP server.

- `$oldName`: The old file/directory name.
- `$newName`: The new name.

**removeDir($directory, $recursive)**

Removes a directory

- `$directory`: The directory to delete. This must be either an absolute or relative path to an empty directory.
- `$recursive`: Delete the folder recursively. Default value: false.

**truncateDir($directory)**

Truncates a directory

- `$directory`: The directory to truncate. This must be either an absolute or relative path to a directory.

**size($remoteFile)**

Returns the size of the given file in bytes. `Note: Not all servers support this feature.`

- `$remoteFile`: The remote file.

**time($remoteFile)**

Returns the last modified time of the given file `Note: Not all servers support this feature.`

- `$remoteFile`: The remote file.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity62

Established project with proven stability

 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

Every ~19 days

Total

5

Last Release

2991d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ab442a97e829996b22b5c27ac8d89a8cbe0c4ce9332e2eee31f86b251e2ee1a6?d=identicon)[huasituo](/maintainers/huasituo)

---

Top Contributors

[![huasituo](https://avatars.githubusercontent.com/u/11346655?v=4)](https://github.com/huasituo "huasituo (9 commits)")

---

Tags

ftplaravelcmshuasituo

### Embed Badge

![Health badge](/badges/huasituo-ftp/health.svg)

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

###  Alternatives

[anchu/ftp

A simple Laravel 7 ftp service provider

225579.4k](/packages/anchu-ftp)[palanik/lumen-cors

Cross-origin resource sharing (CORS) middleware for Lumen micro-framework.

101237.4k](/packages/palanik-lumen-cors)[api-platform/laravel

API Platform support for Laravel

59126.4k6](/packages/api-platform-laravel)[laravel-shift/curl-converter

A command line tool to convert curl requests to Laravel HTTP requests.

935.3k](/packages/laravel-shift-curl-converter)[alfrasc/laravel-matomo-tracker

A Laravel facade/wrapper for the matomo/matomo-php-tracker for server side Matomo tracking.

1923.9k](/packages/alfrasc-laravel-matomo-tracker)[behamin/service-proxy

for proxy or sending requests to other services with useful utilities

102.2k](/packages/behamin-service-proxy)

PHPackages © 2026

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