ftp_nb_fget()

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

Описание:

int ftp_nb_fput ( resource ftp_stream, string remote_file, resource handle, int mode [, int startpos] )

ftp_nb_fput() закачивает данные из дескриптора файла в удалённый файл на FTP сервере.

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

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

ftp_stream - Идентификатор соединения с FTP сервером
remote_file - Путь к удалённому файлу.
handle - Открытый файловый дескриптор локального файла. Чтение прекращается при достижении конца файла.
mode - Режим передачи. Должен быть либо FTP_ASCII, либо FTP_BINARY.
startpos - Возвращаемые значения

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

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

<?php

$file = 'index.php';

$fp = fopen($file, 'r');

$conn_id = ftp_connect($ftp_server);

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Начало закачивания
$ret = ftp_nb_fput($conn_id, $file, $fp, FTP_BINARY);
while ($ret == FTP_MOREDATA) {

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

// продолжение закачивания ...
$ret = ftp_nb_continue($conn_id);
}
if ($ret != FTP_FINISHED) {
echo "При закачивании файла произолшла ошибка...";
exit(1);
}

fclose($fp);
?>