Easy-to-use library for accessing FTP servers






Installs: 552 156

Dependents: 4

Suggesters: 1

Security: 0

Stars: 205

Watchers: 22

Forks: 79

v2.0.0 2023-07-17 14:29 UTC

This package is auto-updated.

Last update: 2024-05-17 16:37:13 UTC


Downloads this Month Latest Stable Version License

FTP for PHP is a very small and easy-to-use library for accessing FTP servers.

It requires PHP 8.1 or newer and is licensed under the New BSD License. You can obtain the latest version from our GitHub repository or install it via Composer:

php composer.phar require dg/ftp-php

If you like it, please make a donation now. Thank you!


Opens an FTP connection to the specified host:

$ftp = new Ftp;
$host = 'ftp.example.com';

Login with username and password

$ftp->login($username, $password);

Upload the file

$ftp->put($destinationFile, $sourceFile, Ftp::Binary);

Close the FTP stream

// or simply unset($ftp);

Ftp throws exception if operation failed. So you can simply do following:

try {
	$ftp = new Ftp;
	$ftp->login($username, $password);
	$ftp->put($destinationFile, $sourceFile, Ftp::Binary);

} catch (FtpException $e) {
	echo 'Error: ', $e->getMessage();

On the other hand, if you'd like the possible exception quietly catch, call methods with the prefix try:


When the connection is accidentally interrupted, you can re-establish it using method $ftp->reconnect().

(c) David Grudl, 2008, 2023 (http://davidgrudl.com)