melihucar/ftpclient

FTPClient for PHP

1.0 2013-11-27 01:25 UTC

README

Build Status Total Downloads Latest Stable Version

Support via Gittip

By Melih Ucar. (http://www.melihucar.net/)

licensed under the MIT licenses

USAGE

Connection to FTP Host :

$ftp = new FTPClient();
$ftp->connect($host, $ssl, $port, $timeout);
$ftp->login($username, $password);

Using Passive Mode :###

// This uses passive mode
$ftp->passive();

// If you want to disable using passive mode then
$ftp->passive(false);

Using Binary Mode :###

// This uses binary mode, required for downloading binaries like zip
$ftp->binary(true);

// standard is false

###Changing Directory :###

// You can use fullpath to change dir
$ftp->changeDirectory('/root_dir/sub_dir');

// or you can use method chaining
$ftp->changeDirectory('/root_dir')->changeDirectory('sub_dir');

###Change To Parent Directory :###

$ftp->changeDirectory('/root_dir/sub_dir');

$ftp->parentDirectory(); // now we are in /root_dir

###Getting Current Directory :###

// will return current path as string
$ftp->getDirectory();

###Creating Directory :###

// creates a directory in current path
$ftp->createDirectory($directoryName);

###Removing Directory :###

$ftp->removeDirectory($directoryName);

###Getting Directory List :###

// returns directory list as array
$ftp->listDirectory();

###Getting Directory List :###

// executes the FTP LIST command, and returns the result as an array
$ftp->rawlistDirectory($parameters, $recursive);

###Deleting File :###

$ftp->delete($filename);

###Returns file size (bytes) :###

$ftp->size($filename);

###Returns last modified time :###

// returns unix timestamp
$ftp->modifiedTime($filename);

// returns formated
$ftp->modifiedTime($filename, $format);

###Renaming files or folders :###

$ftp->rename($current, $new);

###Downloading a file :###

// Downloads a file from remote host
$ftp->get($localFile, $remoteFile);

// Downloads file to an open file
$ftp->fget($handle, $remoteFile);

###Uploading a file :###

// Uploading local file to remote host
$ftp->put($remoteFile, $localFile);

// Uploading from an open file
$ftp->fput($remoteFile, $handle);

###Getting server options :###

$ftp->getOption(FTPClient::TIMEOUT_SEC);

###Setting server options :###

$ftp->setOption(FTPClient::TIMEOUT_SEC, 30);

###Allocating space for uploading file :###

$ftp->allocate($filesize);

###Changing file and directory permissions :###

$ftp->chmod($mode, $filename);

###Running custom command on remote server :###

$ftp->exec($command);

###Error Handling :### Class throws exception if opetarion fails. So simply use try-catch blocks.

try {
    $ftp = new FTPClient();
    $ftp->connect($host, $ssl, $port, $timeout);
    $ftp->loginlogin($username, $password);
} catch (Exception $e) {
    // we got the error!
}

Contributing

Did you find a bug or do you know a better way to do it? Simply just fork and fix it. Then send a pull request.