FTP and FTPS
PHP 3, PHP 4. ftps:// since PHP 4.3.0
Allows read access to existing files and creation of new files
via FTP. If the server does not support passive mode ftp, the
connection will fail.
You can open files for either reading or writing, but not both
simultaneously. If the remote file already exists on the ftp
server and you attempt to open it for writing but have not specified
the context option overwrite, the connection
will fail. If you need to overwrite existing files over ftp,
specify the overwrite option in the context
and open the file for writing. Alternatively, you can
use the FTP extension.
As of PHP 5.0.0 files may be appended via the
ftp:// url wrapper. In prior versions, attempting
to append to a file via ftp:// will result in failure.
ftps:// was introduced in PHP 4.3.0.
It is the same as ftp://,
but attempts to negotiate a secure connection with the ftp server.
If the server does not support SSL, then the connection falls back
to regular unencrypted ftp.
Note: FTPS is supported starting from PHP 4.3.0, if you
have compiled in support for OpenSSL.
Table I-3. Wrapper Summary
|Restricted by allow_url_fopen.||Yes|
Yes (Prior to PHP 5.0.0: new files only.
PHP 5.0.0 and later: overwrite allowed
with context option)
|Allows Appending||Yes (PHP 5.0.0 or later)|
|Allows Simultaneous Reading and Writing||No|
|Supports unlink()||Yes (PHP 5.0.0 or later)|
Table I-4. Context options (as of PHP 5.0.0)
Allow overwriting of already existing files on remote server.
Underlying socket stream context options:
Additional context options may be supported by the
For ftp:// streams, refer to context
options for the tcp:// transport. For
ftps:// streams, refer to context options
for the ssl:// transport.