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.phpPHPUnit Tests
Hugo Maugey visit my website ;)