FtpFileTrait
Provides the single-file operations of the {@see \oihana\ftp\FtpClient}: download, upload, append, delete, rename, size, last-modified time and permission changes.
Every method requires an open connection (see FtpConnectionTrait::connect()) and funnels through the FtpDriverInterface, raising an FtpTransferException when the underlying operation fails.
Tags
Table of Contents
Methods
- append() : static
- Appends the contents of a local file to a remote file.
- chmod() : static
- Changes the permissions of a remote file.
- delete() : static
- Deletes a remote file.
- download() : static
- Downloads a remote file to the local filesystem.
- exists() : bool
- Indicates whether a remote file exists (and exposes a readable size).
- lastModified() : int
- Returns the last-modified time of a remote file, as a Unix timestamp.
- rename() : static
- Renames or moves a remote file or directory.
- size() : int
- Returns the size of a remote file, in bytes.
- upload() : static
- Uploads a local file to the server.
- assertLocalFile() : void
- Asserts that a local file exists and is readable.
- resolveTransferMode() : int
- Resolves a transfer-mode string to its `ext-ftp` resource value.
Methods
append()
Appends the contents of a local file to a remote file.
public
append(string $localFile, string $remoteFile[, string|null $mode = null ]) : static
Parameters
- $localFile : string
-
The source path on the local filesystem.
- $remoteFile : string
-
The destination path on the server.
- $mode : string|null = null
-
The transfer mode; defaults to the client's configured mode.
Tags
Return values
static —This instance, for chaining.
chmod()
Changes the permissions of a remote file.
public
chmod(string $remoteFile, int $permissions) : static
Parameters
- $remoteFile : string
-
The remote path.
- $permissions : int
-
The new permissions, as an octal value (e.g. 0644).
Tags
Return values
static —This instance, for chaining.
delete()
Deletes a remote file.
public
delete(string $remoteFile) : static
Parameters
- $remoteFile : string
-
The path of the file to delete.
Tags
Return values
static —This instance, for chaining.
download()
Downloads a remote file to the local filesystem.
public
download(string $remoteFile, string $localFile[, string|null $mode = null ][, bool $createDirectory = true ]) : static
Parameters
- $remoteFile : string
-
The source path on the server.
- $localFile : string
-
The destination path on the local filesystem.
- $mode : string|null = null
-
The transfer mode (one of FtpTransferMode); defaults to the client's configured mode.
- $createDirectory : bool = true
-
Whether to create the local parent directory if missing.
Tags
Return values
static —This instance, for chaining.
exists()
Indicates whether a remote file exists (and exposes a readable size).
public
exists(string $remoteFile) : bool
Directories and files whose size the server refuses to report are treated as absent.
Parameters
- $remoteFile : string
-
The remote path.
Tags
Return values
bool —True when the file exists with a known size.
lastModified()
Returns the last-modified time of a remote file, as a Unix timestamp.
public
lastModified(string $remoteFile) : int
Not every server supports the underlying MDTM command.
Parameters
- $remoteFile : string
-
The remote path.
Tags
Return values
int —The Unix timestamp.
rename()
Renames or moves a remote file or directory.
public
rename(string $from, string $to) : static
Parameters
- $from : string
-
The current path.
- $to : string
-
The new path.
Tags
Return values
static —This instance, for chaining.
size()
Returns the size of a remote file, in bytes.
public
size(string $remoteFile) : int
Parameters
- $remoteFile : string
-
The remote path.
Tags
Return values
int —The size in bytes.
upload()
Uploads a local file to the server.
public
upload(string $localFile, string $remoteFile[, string|null $mode = null ]) : static
Parameters
- $localFile : string
-
The source path on the local filesystem.
- $remoteFile : string
-
The destination path on the server.
- $mode : string|null = null
-
The transfer mode; defaults to the client's configured mode.
Tags
Return values
static —This instance, for chaining.
assertLocalFile()
Asserts that a local file exists and is readable.
private
assertLocalFile(string $localFile) : void
Parameters
- $localFile : string
-
The local path.
Tags
resolveTransferMode()
Resolves a transfer-mode string to its `ext-ftp` resource value.
private
resolveTransferMode(string|null $mode) : int
Parameters
- $mode : string|null
-
The requested mode, or null to use the configured default.
Return values
int —Either FTP_ASCII or FTP_BINARY.