FtpClient

FTP client class

since

1.5

Methods

__construct

FtpClient object constructor

__construct(array $options = array()) 
since

1.5

Arguments

$options

arrayAssociative array of options to set

__destruct

FtpClient object destructor

__destruct() 

Closes an existing connection, if we have one

since

1.5

_findMode

Method to find out the correct transfer mode for a specific file

_findMode(string $fileName) : integer
since

1.5

Arguments

$fileName

stringName of the file

Response

integerTransfer-mode for this filetype [FTP_ASCII|FTP_BINARY]

_mode

Set transfer mode

_mode(integer $mode) : boolean
since

1.5

Arguments

$mode

integerInteger representation of data transfer mode [1:Binary|0:Ascii] Defined constants can also be used [FTP_BINARY|FTP_ASCII]

Response

booleanTrue if successful

_passive

Set server to passive mode and open a data port connection

_passive() : boolean
since

1.5

Response

booleanTrue if successful

_putCmd

Send command to the FTP server and validate an expected response code

_putCmd(string $cmd, mixed $expectedResponse) : boolean
since

1.5

Arguments

$cmd

stringCommand to send to the FTP server

$expectedResponse

mixedInteger response code or array of integer response codes

Response

booleanTrue if command executed successfully

_verifyResponse

Verify the response code from the server and log response if flag is set

_verifyResponse(mixed $expected) : boolean
since

1.5

Arguments

$expected

mixedInteger response code or array of integer response codes

Response

booleanTrue if response code from the server is expected

append

Method to append a string to the FTP server

append(string $remote, string $buffer) : boolean
since

3.6.0

Arguments

$remote

stringFTP path to file to append to

$buffer

stringContents to append to the FTP server

Response

booleanTrue if successful

chdir

Method to change the current working directory on the FTP server

chdir(string $path) : boolean
since

1.5

Arguments

$path

stringPath to change into on the server

Response

booleanTrue if successful

chmod

Method to change mode for a path on the FTP server

chmod(string $path, mixed $mode) : boolean
since

1.5

Arguments

$path

stringPath to change mode on

$mode

mixedOctal value to change mode to, e.g. '0777', 0777 or 511 (string or integer)

Response

booleanTrue if successful

connect

Method to connect to a FTP server

connect(string $host = '127.0.0.1', string $port = 21) : boolean
since

3.0.0

Arguments

$host

stringHost to connect to [Default: 127.0.0.1]

$port

stringPort to connect on [Default: port 21]

Response

booleanTrue if successful

create

Method to create an empty file on the FTP server

create(string $path) : boolean
since

1.5

Arguments

$path

stringPath local file to store on the FTP server

Response

booleanTrue if successful

delete

Method to delete a path [file/folder] on the FTP server

delete(string $path) : boolean
since

1.5

Arguments

$path

stringPath to delete

Response

booleanTrue if successful

get

Method to get a file from the FTP server and save it to a local file

get(string $local, string $remote) : boolean
since

1.5

Arguments

$local

stringLocal path to save remote file to

$remote

stringPath to remote file to get on the FTP server

Response

booleanTrue if successful

getInstance

Returns the global FTP connector object, only creating it if it doesn't already exist.

getInstance(string $host = '127.0.0.1', string $port = '21', array $options = array(), string $user = null, string $pass = null) : \Joomla\CMS\Client\FtpClient
static

You may optionally specify a username and password in the parameters. If you do so, you may not login() again with different credentials using the same object. If you do not use this option, you must quit() the current connection when you are done, to free it for use by others.

since

1.5

Arguments

$host

stringHost to connect to

$port

stringPort to connect to

$options

arrayArray with any of these options: type=>[FTP_AUTOASCII|FTP_ASCII|FTP_BINARY], timeout=>(int)

$user

stringUsername to use for a connection

$pass

stringPassword to use for a connection

Response

\Joomla\CMS\Client\FtpClientThe FTP Client object.

isConnected

Method to determine if the object is connected to an FTP server

isConnected() : boolean
since

1.5

Response

booleanTrue if connected

listDetails

Method to list the contents of a directory on the FTP server

listDetails(string $path = null, string $type = 'all') : mixed
since

1.5

Arguments

$path

stringPath to the local file to be stored on the FTP server

$type

stringReturn type [raw|all|folders|files]

Response

mixedIf $type is raw: string Directory listing, otherwise array of string with file-names

listNames

Method to list the filenames of the contents of a directory on the FTP server

listNames(string $path = null) : string

Note: Some servers also return folder names. However, to be sure to list folders on all servers, you should use listDetails() instead if you also need to deal with folders

since

1.5

Arguments

$path

stringPath local file to store on the FTP server

Response

stringDirectory listing

login

Method to login to a server once connected

login(string $user = 'anonymous', string $pass = 'jftp@joomla.org') : boolean
since

1.5

Arguments

$user

stringUsername to login to the server

$pass

stringPassword to login to the server

Response

booleanTrue if successful

mkdir

Method to create a directory on the FTP server

mkdir(string $path) : boolean
since

1.5

Arguments

$path

stringDirectory to create

Response

booleanTrue if successful

pwd

Method to retrieve the current working directory on the FTP server

pwd() : string
since

1.5

Response

stringCurrent working directory

quit

Method to quit and close the connection

quit() : boolean
since

1.5

Response

booleanTrue if successful

read

Method to read a file from the FTP server's contents into a buffer

read(string $remote,  &$buffer) : boolean
since

1.5

Arguments

$remote

stringPath to remote file to read on the FTP server

$buffer

Response

booleanTrue if successful

reinit

Method to reinitialise the server, ie. need to login again

reinit() : boolean

NOTE: This command not available on all servers

since

1.5

Response

booleanTrue if successful

rename

Method to rename a file/folder on the FTP server

rename(string $from, string $to) : boolean
since

1.5

Arguments

$from

stringPath to change file/folder from

$to

stringPath to change file/folder to

Response

booleanTrue if successful

restart

Method to restart data transfer at a given byte

restart(integer $point) : boolean
since

1.5

Arguments

$point

integerByte to restart transfer at

Response

booleanTrue if successful

setOptions

Set client options

setOptions(array $options) : boolean
since

1.5

Arguments

$options

arrayAssociative array of options to set

Response

booleanTrue if successful

size

Get the size of the remote file.

size(string $remote) : mixed
since

3.6.0

Arguments

$remote

stringFTP path to file whose size to get

Response

mixednumber of bytes or false on error

store

Method to store a file to the FTP server

store(string $local, string $remote = null) : boolean
since

1.5

Arguments

$local

stringPath to local file to store on the FTP server

$remote

stringFTP path to file to create

Response

booleanTrue if successful

syst

Method to system string from the FTP server

syst() : string
since

1.5

Response

stringSystem identifier string

write

Method to write a string to the FTP server

write(string $remote, string $buffer) : boolean
since

1.5

Arguments

$remote

stringFTP path to file to write to

$buffer

stringContents to write to the FTP server

Response

booleanTrue if successful

Properties

_conn

Socket resource

since

1.5

Type(s)

resource

_dataconn

Data port connection resource

since

1.5

Type(s)

resource

_pasv

Passive connection information

since

1.5

Type(s)

array

_response

Response Message

since

1.5

Type(s)

string

_timeout

Timeout limit

since

1.5

Type(s)

integer

_type

Transfer Type

since

1.5

Type(s)

integer

_autoAscii

Array to hold ascii format file extensions

since

1.5

Type(s)

array

_lineEndings

Array to hold native line ending characters

since

1.5

Type(s)

array

instances

FtpClient instances container.

static
since

2.5

Type(s)

array