mirror of
https://github.com/php/doc-pt_br.git
synced 2026-03-23 22:52:12 +01:00
116 lines
3.8 KiB
XML
116 lines
3.8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: a0ae28d3bc85f927c22649ebd9a590b921534b7d Maintainer: ae Status: ready --><!-- CREDITS: pokemaobr,narigone,ae -->
|
|
<chapter xml:id="features.remote-files" xmlns="http://docbook.org/ns/docbook">
|
|
<title>Usando arquivos remotos</title>
|
|
|
|
<para>
|
|
Enquanto <option>allow_url_fopen</option> estiver disponível no arquivo
|
|
&php.ini;, você pode usar URLs <acronym>HTTP</acronym> e <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 <function>include</function>,
|
|
<function>include_once</function>, <function>require</function> e
|
|
<function>require_once</function>
|
|
(<option>allow_url_include</option> precisa estar habilitado para isto).
|
|
Veja <xref linkend="wrappers"/> para mais informações sobre protocolos
|
|
suportados pelo PHP.
|
|
</para>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Pegando o título de uma página remota</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$file = fopen ("http://www.example.com/", "r");
|
|
if (!$file) {
|
|
echo "<p>Incapaz de abrir arquivo remoto.\n";
|
|
exit;
|
|
}
|
|
while (!feof ($file)) {
|
|
$line = fgets ($file, 1024);
|
|
/* Isso só funciona se o título e suas tags estiverem na mesma linha */
|
|
if (eregi ("<title>(.*)</title>", $line, $out)) {
|
|
$title = $out[1];
|
|
break;
|
|
}
|
|
}
|
|
fclose($file);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
Você também pode escrever arquivos em um servidor FTP (presumindo que
|
|
você se 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 <function>fopen</function>
|
|
falhará.
|
|
</para>
|
|
<para>
|
|
Para conectar como um usuário diferente de 'anonymous', você precisa especificar
|
|
o nome de usuário (e possivelmente a senha) dentro da URL, como
|
|
'<literal>ftp://user:password@ftp.example.com/path/to/file</literal>'.
|
|
(Você pode usar o mesmo tipo de sintaxe para acessar arquivos via
|
|
<acronym>HTTP</acronym> quando eles requerem autenticação Basic).
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Guardando informação em um servidor remoto</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$file = fopen ("ftp://ftp.example.com/incoming/outputfile", "w");
|
|
if (!$file) {
|
|
echo "<p>Incapaz de abrir arquivo remoto para escrita.\n";
|
|
exit;
|
|
}
|
|
/* Escreva informações aqui. */
|
|
fwrite ($file, $_SERVER['HTTP_USER_AGENT'] . "\n");
|
|
fclose ($file);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
<note>
|
|
<para>
|
|
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 <function>fopen</function> falhará
|
|
se o arquivo remoto já existir. Para fazer logs distribuídos
|
|
dessa maneira, você deve dar uma olhada na função <function>syslog</function>.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
|
|
</chapter>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|