ftp_nb_put

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

ftp_nb_putEnvía un fichero a un servidor FTP (no bloqueante)

Descripción

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

ftp_nb_put() escribe el fichero remote_filename presente en la máquina local, en el servidor FTP ftp.

La diferencia entre esta función y ftp_put() es que esta función puede leer el fichero de manera asíncrona, de modo que el programa pueda realizar otras tareas mientras el fichero se está descargando.

Parámetros

ftp

An FTP\Connection instance.

remote_filename

La ruta hacia el fichero remoto.

local_filename

La ruta hacia el fichero local.

mode

El modo de transferencia. Debe ser FTP_ASCII o FTP_BINARY.

offset

La posición en el fichero remoto desde la cual comenzará la descarga.

Valores devueltos

Devuelve FTP_FAILED, FTP_FINISHED o FTP_MOREDATA, o false en caso de fallo al abrir el fichero local.

Historial de cambios

Versión Descripción
8.1.0 The ftp parameter expects an FTP\Connection instance now; previously, a recurso was expected.
7.3.0 El argumento mode ahora es opcional. Anteriormente era obligatorio.

Ejemplos

Ejemplo #1 Ejemplo con ftp_nb_put()

<?php

// Inicialización de la carga
$ret = ftp_nb_put($ftp, "test.remote", "test.local", FTP_BINARY);
while (
$ret == FTP_MOREDATA) {

// Realice lo que desee...
echo ".";

// Continúa la carga...
$ret = ftp_nb_continue($ftp);
}
if (
$ret != FTP_FINISHED) {
echo
"Ocurrió un problema durante la carga del fichero...";
exit(
1);
}
?>

Ejemplo #2 Reanudación de una carga con ftp_nb_put()

<?php

// Inicialización
$ret = ftp_nb_put($ftp, "test.remote", "test.local",
FTP_BINARY, ftp_size("test.remote"));
// O: $ret = ftp_nb_put($ftp, "test.remote", "test.local",
// FTP_BINARY, FTP_AUTORESUME);

while ($ret == FTP_MOREDATA) {

// Realice lo que desee...
echo ".";

// Continúa la carga...
$ret = ftp_nb_continue($ftp);
}
if (
$ret != FTP_FINISHED) {
echo
"Ocurrió un problema durante la carga...";
exit(
1);
}
?>

Ver también

  • ftp_nb_fput() - Escribe un fichero en un servidor FTP, y lo lee desde un fichero (no bloqueante)
  • ftp_nb_continue() - Reanuda la descarga de un fichero (no bloqueante)
  • ftp_put() - Carga un fichero en un servidor FTP
  • ftp_fput() - Carga un fichero en un servidor FTP