dg/ftp-php

Easy-to-use library for accessing FTP servers

Maintainers

👁 david@grudl.com

Package info

github.com/dg/ftp-php

pkg:composer/dg/ftp-php

Statistics

Installs: 722 738

Dependents: 3

Suggesters: 1

Stars: 202

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

Requires

  • php: >=8.1
  • ext-ftp: *

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

BSD-3-Clause 32a263138a8e23965791e612e87c0499b94d515a

ftp

This package is auto-updated.

Last update: 2026-06-04 03:20:16 UTC


README

👁 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!

Usage

Opens an FTP connection to the specified host:

$ftp = new Ftp;
$host = 'ftp.example.com';
$ftp->connect($host);

Login with username and password

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

Upload the file

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

Close the FTP stream

$ftp->close();
// or simply unset($ftp);

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

try {
	$ftp = new Ftp;
	$ftp->connect($host);
	$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:

$ftp->tryDelete($destinationFile);

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

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