ftp_nb_get
(PHP 4 >= 4.3.0, PHP 5)
ftp_nb_get -- Obtém um arquivo do servidor FTP e salva em um arquivo local(sem bloquear)
Descrição
int
ftp_nb_get ( resource ftp_stream, string arquivo_local, string arquivo_remoto, int modo [, int resumepos] )
ftp_nb_get() obtém o arquivo_remoto
apartir do servidor FTP e o salva em arquivo_local
no computador local. O modo de transferencia especificado deve ser
FTP_ASCII ou
FTP_BINARY.
A diferença entre esta função e a função
ftp_get() é que esta função obtém o arquivo sem
sincronia, então o seu programa pode realizar outras operações
enquando o arquivo esta sendo obtido.
Retorna FTP_FAILED, FTP_FINISHED, ou
FTP_MOREDATA.
Exemplo 1. ftp_nb_get() example
<?php
// Inicia o download $ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY); while ($ret == FTP_MOREDATA) {
// Faça o que quizer echo ".";
// Continue o download... $ret = ftp_nb_continue($my_connection); } if ($ret != FTP_FINISHED) { echo "Houve um erro no download do arquivo..."; exit(1); } ?>
|
|
Exemplo 2. Continuando o download com ftp_nb_get()
<?php
// Começa $ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY, filesize("test")); // OU: $ret = ftp_nb_get($my_connection, "test", "README", // FTP_BINARY, FTP_AUTORESUME); while ($ret == FTP_MOREDATA) {
// Faça o que quizer echo ".";
// Continue o download... $ret = ftp_nb_continue($my_connection); } if ($ret != FTP_FINISHED) { echo "Houve um erro no download do arquivo..."; exit(1); } ?>
|
|
Exemplo 3.
Continuando um download na posição 100 para um novo
arquivo com ftp_nb_get()
<?php
// Desabilita o Autoseek ftp_set_option($my_connection, FTP_AUTOSEEK, FALSE);
// Começa $ret = ftp_nb_get($my_connection, "novo_arquivo", "LEIAME", FTP_BINARY, 100); while ($ret == FTP_MOREDATA) {
/* ... */
// Continue o download... $ret = ftp_nb_continue($my_connection); } ?>
|
|
No exemplo acima, "novo_arquivo" é 100 bytes menor
do que "LEIAME" que esta no servidor FTP porque nós começamos
a ler a partir da posição 100. Se nós não tivessemos desabilitado
FTP_AUTOSEEK, os primeiros 100 bytes de
"novo_arquivo" seriam '\0'.
Veja também ftp_nb_fget(),
ftp_nb_continue(),
ftp_get() e ftp_fget().