<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >ftp_nb_get</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="Manual do PHP" HREF="index.html"><LINK REL="UP" TITLE="FTP" HREF="ref.ftp.html"><LINK REL="PREVIOUS" TITLE="ftp_nb_fput" HREF="function.ftp-nb-fput.html"><LINK REL="NEXT" TITLE="ftp_nb_put" HREF="function.ftp-nb-put.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></HEAD ><BODY CLASS="refentry" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >Manual do PHP</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="function.ftp-nb-fput.html" ACCESSKEY="P" >Anterior</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="function.ftp-nb-put.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.ftp-nb-get" ></A >ftp_nb_get</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN58035" ></A ><P > (PHP 4 >= 4.3.0, PHP 5)</P >ftp_nb_get -- Obtém um arquivo do servidor FTP e escreve-o em um arquivo local (sem bloquear)</DIV ><DIV CLASS="refsect1" ><A NAME="AEN58038" ></A ><H2 >Descrição</H2 >int <B CLASS="methodname" >ftp_nb_get</B > ( resource ftp_stream, string local_file, string remote_file, int mode [, int resumepos] )<BR ></BR ><P > <B CLASS="function" >ftp_nb_get()</B > obtém um arquivo remoto do servidor FTP e salva-o em um arquivo local. </P ><P > A diferença entre esta função é <A HREF="function.ftp-get.html" ><B CLASS="function" >ftp_get()</B ></A > é que esta função obtém o arquivo de forma assincronoma, assim o seu programa pode realizar outras operações enquanto o arquivo esta sendo baixado. </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN58062" ></A ><H2 >Parâmetros</H2 ><P > <P ></P ><DIV CLASS="variablelist" ><DL ><DT ><CODE CLASS="parameter" >ftp_stream</CODE ></DT ><DD ><P > O identificador com a conexão FTP. </P ></DD ><DT ><CODE CLASS="parameter" >local_file</CODE ></DT ><DD ><P > O caminho para o arquivo local (será sobrescrito se o arquivo local já existir). </P ></DD ><DT ><CODE CLASS="parameter" >remote_file</CODE ></DT ><DD ><P > O caminho para o arquivo remoto. </P ></DD ><DT ><CODE CLASS="parameter" >mode</CODE ></DT ><DD ><P > O modo de transferência. Deve ser <TT CLASS="constant" ><B >FTP_ASCII</B ></TT > ou <TT CLASS="constant" ><B >FTP_BINARY</B ></TT >. </P ></DD ><DT ><CODE CLASS="parameter" >resumepos</CODE ></DT ><DD ><P ></P ></DD ></DL ></DIV > </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN58093" ></A ><H2 >Valores de retornado</H2 ><P > Retorna <TT CLASS="constant" ><B >FTP_FAILED</B ></TT > ou <TT CLASS="constant" ><B >FTP_FINISHED</B ></TT > ou <TT CLASS="constant" ><B >FTP_MOREDATA</B ></TT >. </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN58099" ></A ><H2 >Exemplos</H2 ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN58102" ></A ><P ><B >Exemplo 1. Exemplo <B CLASS="function" >ftp_nb_get()</B ></B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br /><br /></font><font color="#FF8000">// Initate the download<br /></font><font color="#0000BB">$ret </font><font color="#007700">= </font><font color="#0000BB">ftp_nb_get</font><font color="#007700">(</font><font color="#0000BB">$my_connection</font><font color="#007700">, </font><font color="#DD0000">"test"</font><font color="#007700">, </font><font color="#DD0000">"README"</font><font color="#007700">, </font><font color="#0000BB">FTP_BINARY</font><font color="#007700">);<br />while (</font><font color="#0000BB">$ret </font><font color="#007700">== </font><font color="#0000BB">FTP_MOREDATA</font><font color="#007700">) {<br /> <br /> </font><font color="#FF8000">// Do whatever you want<br /> </font><font color="#007700">echo </font><font color="#DD0000">"."</font><font color="#007700">;<br /><br /> </font><font color="#FF8000">// Continue downloading...<br /> </font><font color="#0000BB">$ret </font><font color="#007700">= </font><font color="#0000BB">ftp_nb_continue</font><font color="#007700">(</font><font color="#0000BB">$my_connection</font><font color="#007700">);<br />}<br />if (</font><font color="#0000BB">$ret </font><font color="#007700">!= </font><font color="#0000BB">FTP_FINISHED</font><font color="#007700">) {<br /> echo </font><font color="#DD0000">"There was an error downloading the file..."</font><font color="#007700">;<br /> exit(</font><font color="#0000BB">1</font><font color="#007700">);<br />}<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN58106" ></A ><P ><B >Exemplo 2. Continuando um download com <B CLASS="function" >ftp_nb_get()</B ></B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br /><br /></font><font color="#FF8000">// Initate <br /></font><font color="#0000BB">$ret </font><font color="#007700">= </font><font color="#0000BB">ftp_nb_get</font><font color="#007700">(</font><font color="#0000BB">$my_connection</font><font color="#007700">, </font><font color="#DD0000">"test"</font><font color="#007700">, </font><font color="#DD0000">"README"</font><font color="#007700">, </font><font color="#0000BB">FTP_BINARY</font><font color="#007700">, <br /> </font><font color="#0000BB">filesize</font><font color="#007700">(</font><font color="#DD0000">"test"</font><font color="#007700">));<br /></font><font color="#FF8000">// OR: $ret = ftp_nb_get($my_connection, "test", "README", <br />// FTP_BINARY, FTP_AUTORESUME);<br /></font><font color="#007700">while (</font><font color="#0000BB">$ret </font><font color="#007700">== </font><font color="#0000BB">FTP_MOREDATA</font><font color="#007700">) {<br /> <br /> </font><font color="#FF8000">// Do whatever you want<br /> </font><font color="#007700">echo </font><font color="#DD0000">"."</font><font color="#007700">;<br /><br /> </font><font color="#FF8000">// Continue downloading...<br /> </font><font color="#0000BB">$ret </font><font color="#007700">= </font><font color="#0000BB">ftp_nb_continue</font><font color="#007700">(</font><font color="#0000BB">$my_connection</font><font color="#007700">);<br />}<br />if (</font><font color="#0000BB">$ret </font><font color="#007700">!= </font><font color="#0000BB">FTP_FINISHED</font><font color="#007700">) {<br /> echo </font><font color="#DD0000">"There was an error downloading the file..."</font><font color="#007700">;<br /> exit(</font><font color="#0000BB">1</font><font color="#007700">);<br />}<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN58110" ></A ><P ><B >Exemplo 3. Continuando um download na posição 100 para um novo arquivo com <B CLASS="function" >ftp_nb_get()</B > </B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br /><br /></font><font color="#FF8000">// Disable Autoseek<br /></font><font color="#0000BB">ftp_set_option</font><font color="#007700">(</font><font color="#0000BB">$my_connection</font><font color="#007700">, </font><font color="#0000BB">FTP_AUTOSEEK</font><font color="#007700">, </font><font color="#0000BB">false</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// Initiate<br /></font><font color="#0000BB">$ret </font><font color="#007700">= </font><font color="#0000BB">ftp_nb_get</font><font color="#007700">(</font><font color="#0000BB">$my_connection</font><font color="#007700">, </font><font color="#DD0000">"newfile"</font><font color="#007700">, </font><font color="#DD0000">"README"</font><font color="#007700">, </font><font color="#0000BB">FTP_BINARY</font><font color="#007700">, </font><font color="#0000BB">100</font><font color="#007700">);<br />while (</font><font color="#0000BB">$ret </font><font color="#007700">== </font><font color="#0000BB">FTP_MOREDATA</font><font color="#007700">) {<br /><br /> </font><font color="#FF8000">/* ... */<br /> <br /> // Continue downloading...<br /> </font><font color="#0000BB">$ret </font><font color="#007700">= </font><font color="#0000BB">ftp_nb_continue</font><font color="#007700">(</font><font color="#0000BB">$my_connection</font><font color="#007700">);<br />}<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ><P > No exemplo acima, <TT CLASS="filename" >newfile</TT > é 100 bytes menor do que <TT CLASS="filename" >README</TT > no servidor FTP porque nós começamos a ler a partir da posição 100. Se nós não disabilitarmos <TT CLASS="constant" ><B >FTP_AUTOSEEK</B ></TT >, os primeiros 100 bytes de <TT CLASS="filename" >newfile</TT > serão <TT CLASS="literal" >'\0'</TT >. </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN58120" ></A ><H2 >Veja também</H2 ><P > <P ></P ><TABLE BORDER="0" ><TBODY ><TR ><TD ><A HREF="function.ftp-nb-fget.html" ><B CLASS="function" >ftp_nb_fget()</B ></A ></TD ></TR ><TR ><TD ><A HREF="function.ftp-nb-continue.html" ><B CLASS="function" >ftp_nb_continue()</B ></A ></TD ></TR ><TR ><TD ><A HREF="function.ftp-fget.html" ><B CLASS="function" >ftp_fget()</B ></A ></TD ></TR ><TR ><TD ><A HREF="function.ftp-get.html" ><B CLASS="function" >ftp_get()</B ></A ></TD ></TR ></TBODY ></TABLE ><P ></P > </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="function.ftp-nb-fput.html" ACCESSKEY="P" >Anterior</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Principal</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="function.ftp-nb-put.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >ftp_nb_fput</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ref.ftp.html" ACCESSKEY="U" >Acima</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >ftp_nb_put</TD ></TR ></TABLE ></DIV ></BODY ></HTML >