Sophie

Sophie

distrib > Mandriva > 2008.1 > i586 > by-pkgid > 703d980c580707c382b4e43e25965bc5 > files > 64

php-manual-pt_BR-5.2.4-1mdv2008.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Usando arquivos remotos</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="Características"
HREF="features.html"><LINK
REL="PREVIOUS"
TITLE="Suporte ao método PUT"
HREF="features.file-upload.put-method.html"><LINK
REL="NEXT"
TITLE="Tratamento de Conexões"
HREF="features.connection-handling.html"><META
HTTP-EQUIV="Content-type"
CONTENT="text/html; charset=UTF-8"></HEAD
><BODY
CLASS="chapter"
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="features.file-upload.put-method.html"
ACCESSKEY="P"
>Anterior</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="features.connection-handling.html"
ACCESSKEY="N"
>Próxima</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="chapter"
><H1
><A
NAME="features.remote-files"
>Capítulo 39. Usando arquivos remotos</A
></H1
><P
>&#13;   Enquanto <CODE
CLASS="option"
>allow_url_fopen</CODE
> estiver disponível no arquivo
   <TT
CLASS="filename"
>php.ini</TT
>, você pode usar URLs <ACRONYM
CLASS="acronym"
>HTTP</ACRONYM
> e <ACRONYM
CLASS="acronym"
>FTP</ACRONYM
> 
   com a maioria das funções
   que recebem um nome de arquivo como parâmetro. Além disso, URLs podem ser
   usadas com as funções <A
HREF="function.include.html"
><B
CLASS="function"
>include()</B
></A
>,
   <A
HREF="function.include-once.html"
><B
CLASS="function"
>include_once()</B
></A
>, <A
HREF="function.require.html"
><B
CLASS="function"
>require()</B
></A
> e
   <A
HREF="function.require-once.html"
><B
CLASS="function"
>require_once()</B
></A
>.
   Veja <A
HREF="wrappers.html"
>Apêndice N</A
> para mais informações sobre protocolos
   suportados pelo PHP.
  </P
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>Nota: </B
>
   No PHP 4.0.3 e inferiores, para usar URL wrappers, você precisava
   configurar o PHP usando a opção do script configure
   <CODE
CLASS="option"
>--enable-url-fopen-wrapper</CODE
>.
   </P
></BLOCKQUOTE
></DIV
><P
>&#13;   <DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>Nota: </B
>
     As versões para Windows do PHP mais novas que o PHP 4.3
     não suportam acesso a arquivos remoto para as seguintes funções:
     <A
HREF="function.include.html"
><B
CLASS="function"
>include()</B
></A
>, <A
HREF="function.include-once.html"
><B
CLASS="function"
>include_once()</B
></A
>,
     <A
HREF="function.require.html"
><B
CLASS="function"
>require()</B
></A
>, <A
HREF="function.require-once.html"
><B
CLASS="function"
>require_once()</B
></A
>,
     e as funções imagecreatefromXXX na extensão
     <A
HREF="ref.image.html"
>Referência LXV, <I
>Imagens, Funções de</I
></A
>.
    </P
></BLOCKQUOTE
></DIV
>
  </P
><P
>&#13;   Por exemplo, você pode usar isso para abrir um arquivo em um web server remoto,
   avaliar a saída para a informação que você precisa, e então usar a informação em uma
   query de banco de dados, ou simplesmente mostrar em um estilo que combine com o resto
   do seu website.
  </P
><P
>&#13;   <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN7135"
></A
><P
><B
>Exemplo 39-1. Pegando o título de uma página remota</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br />$file </font><font color="#007700">= </font><font color="#0000BB">fopen </font><font color="#007700">(</font><font color="#DD0000">"http://www.example.com/"</font><font color="#007700">, </font><font color="#DD0000">"r"</font><font color="#007700">);<br />if (!</font><font color="#0000BB">$file</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;&nbsp;echo </font><font color="#DD0000">"&lt;p&gt;Incapaz de abrir arquivo remoto.\n"</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;exit;<br />}<br />while (!</font><font color="#0000BB">feof </font><font color="#007700">(</font><font color="#0000BB">$file</font><font color="#007700">)) {<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$line </font><font color="#007700">= </font><font color="#0000BB">fgets </font><font color="#007700">(</font><font color="#0000BB">$file</font><font color="#007700">, </font><font color="#0000BB">1024</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#FF8000">/* Isso só funciona se o título e suas tags estiverem na mesma linha */<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#007700">if (</font><font color="#0000BB">eregi </font><font color="#007700">(</font><font color="#DD0000">"&lt;title&gt;(.*)&lt;/title&gt;"</font><font color="#007700">, </font><font color="#0000BB">$line</font><font color="#007700">, </font><font color="#0000BB">$out</font><font color="#007700">)) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$title </font><font color="#007700">= </font><font color="#0000BB">$out</font><font color="#007700">[</font><font color="#0000BB">1</font><font color="#007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></font><font color="#0000BB">fclose</font><font color="#007700">(</font><font color="#0000BB">$file</font><font color="#007700">);<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
  </P
><P
>&#13;   Você também pode escrever arquivos em um servidor FTP (presumindo que
   você conectou como um usuário com os direitos de acesso corretos). Você
   só pode criar arquivos novos usando esse método. Se você tentar sobrescrever
   um arquivo que já existe, a chamada para <A
HREF="function.fopen.html"
><B
CLASS="function"
>fopen()</B
></A
>
   falhará.
  </P
><P
>&#13;   Para conectar como usuário que não o 'anonymous', você precisa especificar
   o nome de usuário (e possivelmente a senha) dentro da URL, como
   'ftp://usuario:senha@ftp.example.com/caminho/para/arquivo'. (Você pode usar
   o mesmo tipo de sintaxe para acessar arquivos via HTTP quando eles requerem
   autenticação Basic).
  </P
><P
>&#13;   <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN7142"
></A
><P
><B
>Exemplo 39-2. Guardando informação em um servidor remoto</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br />$file </font><font color="#007700">= </font><font color="#0000BB">fopen </font><font color="#007700">(</font><font color="#DD0000">"ftp://ftp.example.com/incoming/outputfile"</font><font color="#007700">, </font><font color="#DD0000">"w"</font><font color="#007700">);<br />if (!</font><font color="#0000BB">$file</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;&nbsp;echo </font><font color="#DD0000">"&lt;p&gt;Incapaz de abrir arquivo remoto para escrita.\n"</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;exit;<br />}<br /></font><font color="#FF8000">/* Escreva informação aqui. */<br /></font><font color="#0000BB">fwrite </font><font color="#007700">(</font><font color="#0000BB">$file</font><font color="#007700">, </font><font color="#0000BB">$_SERVER</font><font color="#007700">[</font><font color="#DD0000">'HTTP_USER_AGENT'</font><font color="#007700">] . </font><font color="#DD0000">"\n"</font><font color="#007700">);<br /></font><font color="#0000BB">fclose </font><font color="#007700">(</font><font color="#0000BB">$file</font><font color="#007700">);<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
  </P
><P
>&#13;   <DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>Nota: </B
>
     Você talvez tenha tido a idéia, pelo exemplo acima, de usar
     essa técnica para escrever para um arquivo de log remoto. Infelizmente
     isso não funcionaria porque a chamada a <A
HREF="function.fopen.html"
><B
CLASS="function"
>fopen()</B
></A
> falhará
     se o arquivo remoto já existir. Para fazer logs distrubuídos 
     dessa maneira, você deve dar uma olhada na função <A
HREF="function.syslog.html"
><B
CLASS="function"
>syslog()</B
></A
>.
    </P
></BLOCKQUOTE
></DIV
>
  </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="features.file-upload.put-method.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="features.connection-handling.html"
ACCESSKEY="N"
>Próxima</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Suporte ao método PUT</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="features.html"
ACCESSKEY="U"
>Acima</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Tratamento de Conexões</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>