FTP for PHP (c) David Grudl, 2008 (http://davidgrudl.com)
FTP for PHP is a very small and easy-to-use library for accessing FTP servers.
David Grudl's project at GoogleCode: http://ftp-php.googlecode.com
David Grudl's PHP blog: http://phpfashion.com
- PHP 5.3+
Install FtpPhp
through Composer.
Just specify rjkip/ftp-php
as a dependency.
Opens an FTP connection to the specified host:
<?php
require "vendor/autoload.php";
use FtpPhp\FtpClient;
use FtpPhp\FtpException;
$ftp = new FtpClient;
$ftp->connect($host);
Login with username and password
<?php
$ftp->login($username, $password);
You can also pass a URI to the constructor, as such:
<?php
$ftp = new FtpClient("ftp://user:password@host/path");
Upload the file
<?php
$ftp->put($destination_file, $source_file, FtpClient::BINARY);
Close the FTP stream
<?php
# Connection is also closed when `$ftp` goes out of scope.
$ftp->close();
Ftp throws exception if operation failed. So you can simply do following:
<?php
try {
$ftp = new FtpClient;
$ftp->connect($host);
$ftp->login($username, $password);
$ftp->put($destination_file, $source_file, FtpClient::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':
<?php
$ftp->tryDelete($destination_file);
When the connection is accidentally interrupted, you can re-establish it using method $ftp->reconnect()
.