ftp_nb_fget

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

ftp_nb_fgetСкачивает файл с FTP-сервера в асинхронном режиме и сохраняет его в открытом заранее файле

Описание

ftp_nb_fget(
    FTP\Connection $ftp,
    resource $stream,
    string $remote_filename,
    int $mode = FTP_BINARY,
    int $offset = 0
): int

Функция ftp_nb_fget() скачивает файл с удалённого FTP-сервера.

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

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

ftp

Экземпляр класса FTP\Connection.

stream

Открытый файловый дескриптор для сохранения данных.

remote_filename

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

mode

Режим передачи. Параметр принимает либо константу FTP_ASCII, либо константу FTP_BINARY.

offset

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

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

Функция возвращает значения FTP_FAILED, FTP_FINISHED или FTP_MOREDATA.

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

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

Примеры

Пример #1 Пример скачивания файла с FTP-сервера в асинхронном режиме функцией ftp_nb_fget()

<?php

// Открываем файл для записи
$file = 'index.php';
$fp = fopen($file, 'w');

$ftp = ftp_connect($ftp_server);

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

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

// Выполняем какие-то действия...
echo ".";

// Продолжение скачивания...
$ret = ftp_nb_continue($ftp);
}

if (
$ret != FTP_FINISHED) {
echo
"При скачивании файла возникла ошибка...";
exit(
1);
}

// Закрываем файл
fclose($fp);

?>

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

  • ftp_nb_get() - Скачивает файл с FTP-сервера в асинхронном режиме и сохраняет его в локальный файл
  • ftp_nb_continue() - Продолжает асинхронную операцию
  • ftp_fget() - Скачивает файл с FTP-сервера и сохраняет его в предварительно открытом файле
  • ftp_get() - Скачивает файл с FTP-сервера