ftp_nb_put()

Загружает файл на FTP сервер в асинхронном режиме (PHP 4 >= 4.3.0, PHP 5)

Описание:

int ftp_nb_put ( resource ftp_stream, string remote_file, string local_file, int mode [, int startpos] )

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

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

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

ftp_stream - Идентификатор соединения с FTP сервером
remote_file - Путь к файлу на сервере
local_file - Путь к локальному файлу
mode - Режим передачи. Может принимать значения FTP_ASCII или FTP_BINARY
startpos - Позиция в файле, с которой начинается загрузка

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

Возвращает FTP_FAILED, FTP_FINISHED или FTP_MOREDATA.

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

<?php

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

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

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

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

<?php

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

while ($ret == FTP_MOREDATA) {

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

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