This is an example of how to allow fopen() to overwrite a file on an FTP site. If the stream context is not modified, an error will occur: "...failed to open stream: Remote file already exists and overwrite context option not specified...".
<?php
// The path to the FTP file, including login arguments
$ftp_path = 'ftp://username:password@example.com/example.txt';
// Allows overwriting of existing files on the remote FTP server
$stream_options = array('ftp' => array('overwrite' => true));
// Creates a stream context resource with the defined options
$stream_context = stream_context_create($stream_options);
// Opens the file for writing and truncates it to zero length
if ($fh = fopen($ftp_path, 'w', 0, $stream_context))
{
// Writes contents to the file
fputs($fh, 'example contents');
// Closes the file handle
fclose($fh);
}
else
{
die('Could not open file.');
}
?>
FTP context options
FTP context options — FTP context option listing
Description
Context options for ftp:// and ftps:// transports.
Changelog
Version | Description |
---|---|
5.1.0 | Added proxy. |
5.0.0 | Added overwrite and resume_pos. |
Notes
Note: Underlying socket stream context options
Additional context options may be supported by the underlying transport For ftp:// streams, refer to context options for the tcp:// transport. For ftps:// streams, refer to context options for the ssl:// transport.
User Contributed Notes
FTP context options
FTP context options
php dot net at misterchucker dot com
16-Apr-2009 01:19
16-Apr-2009 01:19