(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
ftp_nb_put — Envía un fichero a un servidor FTP (no bloqueante)
$ftp,$remote_filename,$local_filename,$mode = FTP_BINARY,$offset = 0
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.
ftpUna instancia de FTP\Connection.
remote_filenameLa ruta hacia el fichero remoto.
local_filenameLa ruta hacia el fichero local.
mode
El modo de transferencia. Debe ser FTP_ASCII o
FTP_BINARY.
offsetLa posición en el fichero remoto desde la cual comenzará la descarga.
Devuelve FTP_FAILED, FTP_FINISHED
o FTP_MOREDATA, o false en caso de fallo al abrir el fichero local.
| Versión | Descripción |
|---|---|
| 8.1.0 |
El parámetro ftp ahora espera una instancia de
FTP\Connection ; anteriormente, se esperaba un resource.
|
| 7.3.0 |
El argumento mode ahora es opcional. Anteriormente
era obligatorio.
|
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);
}
?>