(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.
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.
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 |
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.
|
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);
}
?>