FTP for PHP (c) David Grudl, 2008 (http://davidgrudl.com), (*1)
Introduction
FTP for PHP is a very small and easy-to-use library for accessing FTP servers., (*2)
David Grudl's project at GoogleCode: http://ftp-php.googlecode.com
David Grudl's PHP blog: http://phpfashion.com, (*3)
Requirements
Installation
Install FtpPhp
through Composer.
Just specify rjkip/ftp-php
as a dependency., (*4)
Usage
Opens an FTP connection to the specified host:, (*5)
<?php
require "vendor/autoload.php";
use FtpPhp\FtpClient;
use FtpPhp\FtpException;
$ftp = new FtpClient;
$ftp->connect($host);
Login with username and password, (*6)
<?php
$ftp->login($username, $password);
You can also pass a URI to the constructor, as such:, (*7)
<?php
$ftp = new FtpClient("ftp://user:password@host/path");
<?php
$arr = $ftp->nlist();
foreach ($arr as $value) {
echo $value.PHP_EOL;
}
Upload the file, (*8)
<?php
$ftp->put($destination_file, $source_file, FtpClient::BINARY);
Close the FTP stream, (*9)
<?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:, (*10)
<?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':, (*11)
<?php
$ftp->tryDelete($destination_file);
When the connection is accidentally interrupted, you can re-establish it using method $ftp->reconnect()
., (*12)
Changelog
v1.1.0 - 2014-01-13
- Introducing a base exception class for all FtpPhp exceptions. This shouldn't break any of your exception handling, unless you rely on
FtpException
directly extending \Exception
.
- All classes comply largely to PSR-2.
- Updated docblocks to satisfy PhpStorm.