(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
ftp_nb_fget — Lee un fichero en un servidor FTP y lo escribe en un fichero (no bloqueante)
$ftp
,$stream
,$remote_filename
,$mode
= FTP_BINARY
,$offset
= 0
ftp_nb_fget() lee el fichero remote_filename
presente en el servidor FTP ftp
.
La diferencia entre esta función y ftp_fget() es que esta función puede leer el fichero de manera asíncrona, de modo que su programa pueda realizar otras tareas mientras el fichero se descarga.
ftp
An FTP\Connection instance.
stream
Un puntero de fichero abierto en el que se escriben los datos.
remote_filename
La ruta hacia el fichero remoto.
mode
El modo de transferencia. Debe ser FTP_ASCII
o
FTP_BINARY
.
offset
La posición en el fichero remoto desde la cual debe comenzar la descarga.
Devuelve FTP_FAILED
o FTP_FINISHED
o FTP_MOREDATA
.
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_fget()
<?php
// Apertura de algunos ficheros para escritura
$file = 'index.php';
$fp = fopen($file, 'w');
$ftp = ftp_connect($ftp_server);
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);
// Inicia la descarga
$ret = ftp_nb_fget($ftp, $fp, $file, FTP_BINARY);
while ($ret == FTP_MOREDATA) {
// Realice lo que desee...
echo ".";
// Continúa la descarga...
$ret = ftp_nb_continue($ftp);
}
if ($ret != FTP_FINISHED) {
echo "Ocurrió un error durante la descarga del fichero...";
exit(1);
}
// Cierra el puntero de fichero
fclose($fp);
?>