There is no license information available for the latest version (1.0) of this package.

PHP FTP Utilities

1.0 2017-03-20 22:30 UTC

This package is auto-updated.

Last update: 2022-07-19 21:08:55 UTC


PHP FTP Utilities

If you also need SFTP : php-sftp


Install package with composer

composer require hugsbrugs/php-ftp

In your PHP code, load librairy

require_once __DIR__ . '/vendor/autoload.php';
use Hug\Ftp\Ftp as Ftp;


Test FTP connection

Ftp::test($server, $user, $password, $port = 21);

Check if a file exists on Ftp Server

Ftp::is_file($server, $user, $password, $remote_file, $port = 21);

Delete a file on remote FTP server

Ftp::delete($server, $user, $password, $remote_file, $port = 21);

Recursively deletes files and folder in given directory (If remote_path ends with a slash delete folder content otherwise delete folder itself)

Ftp::rmdir($server, $user, $password, $remote_path, $port = 21);

Recursively copy files and folders on remote FTP server (If local_path ends with a slash upload folder content otherwise upload folder itself)

Ftp::upload_dir($server, $user, $password, $local_path, $remote_path, $port = 21);

Download a file from remote Ftp server

Ftp::download($server, $user, $password, $remote_file, $local_file, $port = 21);

Download a directory from remote FTP server (If remote_dir ends with a slash download folder content otherwise download folder itself)

Ftp::download_dir($server, $user, $password, $remote_dir, $local_dir, 
$port = 21);

Rename a file on remote FTP server

Ftp::rename($server, $user, $password, $old_file, $new_file, $port = 21);

Create a directory on remote FTP server

Ftp::mkdir($server, $user, $password, $directory, $port = 21);

Create a file on remote FTP server

Ftp::touch($server, $user, $password, $remote_file, $content, $port = 21);

Upload a file on FTP server

Ftp::upload($server, $user, $password, $local_file, $remote_file = '', $port = 21);

List files on FTP server

Ftp::scandir($server, $user, $password, $path, $port = 21);

Get default login FTP directory aka pwd

Ftp::pwd($server, $user, $password, $port = 21);


Edit example/test.php with your FTP parameters then run

php example/test.php

To Do

PHPUnit Tests


Hugo Maugey visit my website ;)