(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
ftp_nb_fput — Escribe un fichero en un servidor FTP, y lo lee desde un fichero (no bloqueante)
$ftp,$remote_filename,$stream,$mode = FTP_BINARY,$offset = 0
ftp_nb_fput() escribe el fichero remote_filename
presente en la máquina local, en el servidor FTP ftp.
La diferencia entre esta función y ftp_fput() es que esta función puede leer el fichero de manera asíncrona, para que su programa realice otras tareas mientras el fichero se descarga.
ftpUna instancia de FTP\Connection.
remote_filenameLa ruta hacia el fichero remoto.
streamUn puntero de fichero hacia un fichero local. La lectura se detiene al final del fichero.
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.
| 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_fput()
<?php
$file = 'index.php';
$fp = fopen($file, 'r');
$ftp = ftp_connect($ftp_server);
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);
// Inicia la subida
$ret = ftp_nb_fput($ftp, $file, $fp, FTP_BINARY);
while ($ret == FTP_MOREDATA) {
// Realice lo que desee...
echo ".";
// Continúa la subida...
$ret = ftp_nb_continue($ftp);
}
if ($ret != FTP_FINISHED) {
echo "Ocurrió un problema durante la subida del fichero...";
exit(1);
}
fclose($fp);
?>