(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
ftp_nb_put — Загружает файл на FTP-сервер в асинхронном режиме
$ftp
,$remote_filename
,$local_filename
,$mode
= FTP_BINARY
,$offset
= 0ftp_nb_put() загружает локальный файл на FTP-сервер.
Отличие этой функции от ftp_put() состоит в том, что загрузка файла происходит в асинхронном режиме, что позволяет программе выполнять другие операции во время загрузки.
ftp
Экземпляр класса FTP\Connection.
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);
}
?>