Параметры контекста FTP

Параметры контекста FTPСписок параметров контекста FTP

Описание

Параметры контекста для транспортных протоколов ftp:// и ftps://

Опции

overwrite boolean

Разрешает перезаписывать существующие файлы на удаленном сервере. Работает только в режиме записи (upload).

По умолчанию FALSE.

resume_pos integer

Смещение в файле, с которого начинается передача. Работает только в режиме чтения (download).

По умолчанию 0 (Начало файла).

proxy string

FTP-запрос через прокси-сервер HTTP. Применяется только при операции чтения файла. Пример: tcp://squid.example.com:8000.

Список изменений

Версия Описание
5.1.0 Добавлен параметр proxy.
5.0.0 Добавлены параметры overwrite и resume_pos.

Примечания

Замечание: Опции контекста низлежащего потока в сокете
Дополнительные опции контекста могут поддерживаться низлежащим транспортным протоколом. Для потоков ftp://, это относится к опциям контекста для транспортного протокола tcp://. Для потоков ftps://, это относится к опциям контекста для транспортного протокола ssl://.

Коментарии

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.');
}
?>
2009-04-15 21:19:02
http://php5.kiev.ua/manual/ru/context.ftp.html
Apparently the overwrite-option only registers as false if it's absent. If I specify it as false, it acts the same as true and overwrites. Then, 
<?php
if (empty($opts['overwrite'])) {
    unset(
$opts['overwrite']);
}
?>
...was the simple fix for my FTP stream wrapper class sporting default options. This is quite unexpected though; false means false even if I say so? Apparently PHP (7.0.2) just checks if the option exists, not its boolean value.
2016-11-24 21:01:22
http://php5.kiev.ua/manual/ru/context.ftp.html

    Поддержать сайт на родительском проекте КГБ