Properties

$pathPrefix

$pathPrefix : string|null

Type

string|null — path prefix

$pathSeparator

$pathSeparator : string

Type

string

$connection

$connection : mixed

Type

mixed

$host

$host : string

Type

string

$port

$port : integer

Type

integer

$ssl

$ssl : boolean

Type

boolean

$timeout

$timeout : integer

Type

integer

$passive

$passive : boolean

Type

boolean

$separator

$separator : string

Type

string

$root

$root : string|null

Type

string|null

$permPublic

$permPublic : integer

Type

integer

$permPrivate

$permPrivate : integer

Type

integer

$configurable

$configurable : array

Type

array

$systemType

$systemType : string

Type

string

$enableTimestampsOnUnixListings

$enableTimestampsOnUnixListings : boolean

True to enable timestamps for FTP servers that return unix-style listings.

Type

boolean

Methods

setPathPrefix()

setPathPrefix(string  $prefix) : void

Set the path prefix.

Parameters

string $prefix

getPathPrefix()

getPathPrefix() : string|null

Get the path prefix.

Returns

string|null —

path prefix or null if pathPrefix is empty

applyPathPrefix()

applyPathPrefix(string  $path) : string

Prefix a path.

Parameters

string $path

Returns

string —

prefixed path

removePathPrefix()

removePathPrefix(string  $path) : string

Remove a path prefix.

Parameters

string $path

Returns

string —

path without the prefix

__construct()

__construct(array  $config) 

Constructor.

Parameters

array $config

setConfig()

setConfig(array  $config) : $this

Set the config.

Parameters

array $config

Returns

$this

getHost()

getHost() : string

Returns the host.

Returns

string

setHost()

setHost(string  $host) : $this

Set the host.

Parameters

string $host

Returns

$this

setPermPublic()

setPermPublic(integer  $permPublic) : $this

Set the public permission value.

Parameters

integer $permPublic

Returns

$this

setPermPrivate()

setPermPrivate(integer  $permPrivate) : $this

Set the private permission value.

Parameters

integer $permPrivate

Returns

$this

getPort()

getPort() : integer

Returns the ftp port.

Returns

integer

getRoot()

getRoot() : string

Returns the root folder to work from.

Returns

string

setPort()

setPort(integer|string  $port) : $this

Set the ftp port.

Parameters

integer|string $port

Returns

$this

setRoot()

setRoot(string  $root) : $this

Set the root folder to work from.

Parameters

string $root

Returns

$this

getUsername()

getUsername() : string

Returns the ftp username.

Returns

string —

username

setUsername()

setUsername(string  $username) : $this

Set ftp username.

Parameters

string $username

Returns

$this

getPassword()

getPassword() : string

Returns the password.

Returns

string —

password

setPassword()

setPassword(string  $password) : $this

Set the ftp password.

Parameters

string $password

Returns

$this

getTimeout()

getTimeout() : integer

Returns the amount of seconds before the connection will timeout.

Returns

integer

setTimeout()

setTimeout(integer  $timeout) : $this

Set the amount of seconds before the connection should timeout.

Parameters

integer $timeout

Returns

$this

getSystemType()

getSystemType() : string

Return the FTP system type.

Returns

string

setSystemType()

setSystemType(string  $systemType) : $this

Set the FTP system type (windows or unix).

Parameters

string $systemType

Returns

$this

setEnableTimestampsOnUnixListings()

setEnableTimestampsOnUnixListings(boolean  $bool = false) : $this

True to enable timestamps for FTP servers that return unix-style listings.

Parameters

boolean $bool

Returns

$this

listContents()

listContents(  $directory = '',   $recursive = false) 

Parameters

$directory
$recursive

removeDotDirectories()

removeDotDirectories(array  $list) : array

Filter out dot-directories.

Parameters

array $list

Returns

array

has()

has(  $path) 

Parameters

$path

getSize()

getSize(  $path) 

Parameters

$path

getVisibility()

getVisibility(  $path) 

Parameters

$path

ensureDirectory()

ensureDirectory(string  $dirname) 

Ensure a directory exists.

Parameters

string $dirname

getConnection()

getConnection() : mixed

Returns

mixed

getPermPublic()

getPermPublic() : integer

Get the public permission value.

Returns

integer

getPermPrivate()

getPermPrivate() : integer

Get the private permission value.

Returns

integer

__destruct()

__destruct() 

Disconnect on destruction.

connect()

connect() 

Establish a connection.

disconnect()

disconnect() 

Close the connection.

isConnected()

isConnected() : boolean

Check if a connection is active.

Returns

boolean

listDirectoryContents()

listDirectoryContents(  $directory,   $recursive = false) 

Parameters

$directory
$recursive

normalizeListing()

normalizeListing(array  $listing, string  $prefix = '') : array

Normalize a directory listing.

Parameters

array $listing
string $prefix

Returns

array —

directory listing

sortListing()

sortListing(array  $result) : array

Sort a directory listing.

Parameters

array $result

Returns

array —

sorted listing

normalizeObject()

normalizeObject(string  $item, string  $base) : array

Normalize a file entry.

Parameters

string $item
string $base

Throws

\League\Flysystem\NotSupportedException

Returns

array —

normalized file array

normalizeUnixObject()

normalizeUnixObject(string  $item, string  $base) : array

Normalize a Unix file entry.

Given $item contains: '-rw-r--r-- 1 ftp ftp 409 Aug 19 09:01 file1.txt'

This function will return: [ 'type' => 'file', 'path' => 'file1.txt', 'visibility' => 'public', 'size' => 409, 'timestamp' => 1566205260 ]

Parameters

string $item
string $base

Returns

array —

normalized file array

normalizeUnixTimestamp()

normalizeUnixTimestamp(string  $month, string  $day, string  $timeOrYear) : integer

Only accurate to the minute (current year), or to the day.

Inadequacies in timestamp accuracy are due to limitations of the FTP 'LIST' command

Note: The 'MLSD' command is a machine-readable replacement for 'LIST' but many FTP servers do not support it :(

Parameters

string $month

e.g. 'Aug'

string $day

e.g. '19'

string $timeOrYear

e.g. '09:01' OR '2015'

Returns

integer

normalizeWindowsObject()

normalizeWindowsObject(string  $item, string  $base) : array

Normalize a Windows/DOS file entry.

Parameters

string $item
string $base

Returns

array —

normalized file array

detectSystemType()

detectSystemType(string  $item) : string

Get the system type from a listing item.

Parameters

string $item

Returns

string —

the system type

detectType()

detectType(string  $permissions) : string

Get the file type from the permissions.

Parameters

string $permissions

Returns

string —

file type

normalizePermissions()

normalizePermissions(string  $permissions) : integer

Normalize a permissions string.

Parameters

string $permissions

Returns

integer