mirror of
https://github.com/php/doc-es.git
synced 2026-03-23 23:12:09 +01:00
119 lines
3.6 KiB
XML
119 lines
3.6 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<!-- EN-Revision: a0ae28d3bc85f927c22649ebd9a590b921534b7d Maintainer: PhilDaiguille Status: ready -->
|
|
<!-- Reviewed: yes -->
|
|
|
|
<chapter xml:id="features.remote-files" xmlns="http://docbook.org/ns/docbook">
|
|
<title>Uso de ficheros a distancia</title>
|
|
<para>
|
|
Mientras el soporte de los gestores de URL ("URL fopen wrapper")
|
|
esté activado en el &php.ini;, con la opción <option>allow_url_fopen</option>,
|
|
se puede utilizar URL (<acronym>HTTP</acronym> y <acronym>FTP</acronym>)
|
|
con la mayoría de las funciones que utilizan un
|
|
nombre de fichero como argumento. Esto incluye especialmente
|
|
<function>include</function>,
|
|
<function>include_once</function>,
|
|
<function>require</function> y
|
|
<function>require_once</function>
|
|
(<option>allow_url_include</option> debe estar activo para utilizarlos).
|
|
Consulte <xref linkend="wrappers"/> para más información
|
|
sobre los protocolos soportados por PHP.
|
|
</para>
|
|
<para>
|
|
Por ejemplo, se puede seguir el siguiente ejemplo para abrir un
|
|
fichero en un servidor web distante, analizar los resultados
|
|
para extraer la información que se necesita, y luego
|
|
utilizarla en una consulta de base de datos, o
|
|
simplemente editar la información en el estilo del sitio.
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Conocer el título de una página distante</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$file = fopen ("http://www.example.com/", "r");
|
|
if (!$file) {
|
|
echo "<p>Imposible leer la página.\n";
|
|
exit;
|
|
}
|
|
while (!feof ($file)) {
|
|
$line = fgets ($file, 1024);
|
|
/* Esto solo funciona si las etiquetas Title están correctamente utilizadas */
|
|
if (preg_match ("@\<title\>(.*)\</title\>@i", $line, $out)) {
|
|
$title = $out[1];
|
|
break;
|
|
}
|
|
}
|
|
fclose($file);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
También se puede escribir ficheros en un servidor FTP
|
|
siempre que se esté conectado con un
|
|
usuario con los derechos de acceso adecuados, aunque el
|
|
fichero no existiera aún.
|
|
</para>
|
|
<para>
|
|
Para conectarse con un usuario distinto de anónimo, se debe
|
|
especificar un nombre de usuario (y probablemente la contraseña) en
|
|
la URL, como <literal>ftp://user:password@ftp.example.com/path/to/file</literal>.
|
|
(Se puede utilizar el mismo tipo de sintaxis para acceder
|
|
a los ficheros vía <acronym>HTTP</acronym> cuando requieren una
|
|
identificación simple).
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Almacenar datos en un servidor distante</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$file = fopen ("ftp://ftp.example.com/incoming/outputfile", "w");
|
|
if (!$file) {
|
|
echo "<p>Imposible abrir el fichero distante para escritura.\n";
|
|
exit;
|
|
}
|
|
/* Escritura de los datos. */
|
|
fputs ($file, $_SERVER['HTTP_USER_AGENT'] . "\n");
|
|
fclose ($file);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
<note>
|
|
<para>
|
|
Nota: se puede tener la idea, a partir del
|
|
ejemplo anterior, de utilizar la misma técnica para
|
|
escribir en un log distante, pero como se mencionó anteriormente
|
|
solo se puede escribir en un nuevo fichero utilizando
|
|
las funciones <function>fopen</function> con una URL. Para hacer logs
|
|
distribuidos, se recomienda consultar la parte
|
|
<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:
|
|
-->
|