ftp_nb_put

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ftp_nb_putЗагружает файл на FTP-сервер в асинхронном режиме

Описание

ftp_nb_put(
    FTP\Connection$ftp,
    string$remote_filename,
    string$local_filename,
    int$mode = FTP_BINARY,
    int$offset = 0
): int|false

ftp_nb_put() загружает локальный файл на FTP-сервер.

Отличие этой функции от ftp_put() состоит в том, что загрузка файла происходит в асинхронном режиме, что позволяет программе выполнять другие операции во время загрузки.

Список параметров

ftp

An FTP\Connection instance.

remote_filename

Путь к файлу на сервере.

local_file

Путь к локальному файлу.

mode

Режим передачи. Может принимать значения FTP_ASCII или FTP_BINARY.

offset

Позиция в удалённом файле, в которую начинается загрузка

Возвращаемые значения

Возвращает FTP_FAILED, FTP_FINISHED или FTP_MOREDATA или false в случае невозможности открыть локальный файл.

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

ВерсияОписание
8.1.0 Параметр ftp теперь ожидает экземпляр класса FTP\Connection; раньше параметр ждал ресурс (resource).
7.3.0 Теперь параметр mode опционален. Раньше он был обязательным.

Примеры

Пример #1 Пример использования ftp_nb_put()

<?php

// Начало загрузки
$ret = ftp_nb_put($ftp, "test.remote", "test.local", FTP_BINARY);
while (
$ret == FTP_MOREDATA) {

// Производим какие-то действия ...
echo ".";

// Продолжение загрузки ...
$ret = ftp_nb_continue($ftp);
}
if (
$ret != FTP_FINISHED) {
echo
"При загрузке файла произошла ошибка...";
exit(
1);
}
?>

Пример #2 Возобновление загрузки файла с помощью ftp_nb_put()

<?php

// Начало загрузки
$ret = ftp_nb_put($ftp, "test.remote", "test.local",
FTP_BINARY, ftp_size("test.remote"));
// ИЛИ: $ret = ftp_nb_put($ftp, "test.remote", "test.local",
// FTP_BINARY, FTP_AUTORESUME);

while ($ret == FTP_MOREDATA) {

// Производим какие-то действия ...
echo ".";

// Продолжение загрузки ...
$ret = ftp_nb_continue($ftp);
}
if (
$ret != FTP_FINISHED) {
echo
"При загрузке файла произошла ошибка...";
exit(
1);
}
?>

Смотрите также

  • ftp_nb_fput() - Загружает предварительно открытый файл на FTP-сервер в асинхронном режиме
  • ftp_nb_continue() - Продолжает асинхронную операцию
  • ftp_put() - Загружает файл на FTP-сервер
  • ftp_fput() - Загружает предварительно открытый файл на FTP-сервер
To Top