Skip to content
This repository has been archived by the owner on May 22, 2019. It is now read-only.

melihucar/ftpclient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FTP Client for PHP

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.