ftp_nb_fput
ftp_nb_put
FTP Functions
PHP Manual

# ftp_nb_get

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_get — Recupera un archivo desde el servidor FTP y lo escribe sobre un archivo local (modo no-bloqueo)

### Descripción

int ftp_nb_get ( resource `$secuencia_ftp` , string `$archivo_local` , string `$archivo_remoto` , int `$modo` [, int `$pos_continuacion` ] )

ftp_nb_get() recupera un archivo remoto desde el servidor FTP, y lo almacena en un archivo local.

La diferencia entre ésta función y ftp_get() es que ésta función recupera el archivo asincrónicamente, de modo que su programa puede realizar otras operaciones mientras el archivo está siendo descargado.

### Lista de parámetros

`secuencia_ftp`

  El identificador de enlace de la conexión FTP.

`archivo_local`

  La ruta del archivo local (será sobrescrito si el archivo ya existe).

`archivo_remoto`

  La ruta del archivo remoto.

`modo`

  El modo de transferencia. Debe ser `FTP_ASCII` o `FTP_BINARY`.

`pos_continuacion`

### Valores retornados

Devuelve `FTP_FAILED` o `FTP_FINISHED` o `FTP_MOREDATA`.

### Ejemplos

Example #1 Ejemplo de ftp_nb_get()

`<?php
// Iniciar la descarga
$ret = ftp_nb_get($mi_conexion, "test", "README", FTP_BINARY);
while ($ret == FTP_MOREDATA) {
// Haga lo que quiera
echo ".";
// Continuar la descarga...
$ret = ftp_nb_continue($mi_conexion);
}
if ($ret != FTP_FINISHED) {
echo "Hubo un error descargando el archivo...";
exit(1);
}
?>`

Example #2 Reanudando una descarga con ftp_nb_get()

`<?php
// Iniciar
$ret = ftp_nb_get($mi_conexion, "test", "README", FTP_BINARY,
filesize("test"));
// O: $ret = ftp_nb_get($mi_conexion, "test", "README",
// FTP_BINARY, FTP_AUTORESUME);
while ($ret == FTP_MOREDATA) {
// Haga lo que quiera
echo ".";
// Continuar descargando...
$ret = ftp_nb_continue($mi_conexion);
}
if ($ret != FTP_FINISHED) {
echo "Hubo un error descargando el archivo...";
exit(1);
}
?>`

Example #3 Reanudar una descarga en la posición 100 sobre un archivo nuevo con ftp_nb_get()

`<?php
// Deshabilitar Autoseek
ftp_set_option($mi_conexion, FTP_AUTOSEEK, FALSE);
// Iniciar
$ret = ftp_nb_get($mi_conexion, "archivo_nuevo", "README", FTP_BINARY, 100);
while ($ret == FTP_MOREDATA) {
/* ... */
// Continuar descarga...
$ret = ftp_nb_continue($mi_conexion);
}
?>`

En el ejemplo anterior, archivo_nuevo es 100 bytes más pequeña que README en el servidor FTP, ya que comenzamos la lectura en la posición 100. Si no deshabilitamos `FTP_AUTOSEEK`, los primeros 100 bytes de archivo_nuevo serían '\0'.

### Ver también

- ftp_nb_fget() - Recupera un archivo desde el servidor FTP y lo escribe sobre un archivo abierto (modo no-bloqueo)
- ftp_nb_continue() - Continúa recuperando/enviando un archivo (modo no-bloqueo)
- ftp_fget() - Descarga un archivo desde el servidor FTP y lo guarda en un archivo abierto
- ftp_get() - Descarga un archivo desde el servidor FTP

ftp_nb_fput
ftp_nb_put
FTP Functions
PHP Manual