mirror of
https://github.com/macintoshplus/doc-fr.git
synced 2026-03-24 00:42:20 +01:00
119 lines
3.7 KiB
XML
119 lines
3.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<!-- EN-Revision: a0ae28d3bc85f927c22649ebd9a590b921534b7d Maintainer: yannick Status: ready -->
|
|
<!-- Reviewed: yes -->
|
|
|
|
<chapter xml:id="features.remote-files" xmlns="http://docbook.org/ns/docbook">
|
|
<title>Utilisation des fichiers à distance</title>
|
|
<para>
|
|
Aussi longtemps que le support des gestionnaires d'URL ("URL fopen wrapper")
|
|
est activé dans le &php.ini;, avec l'option <option>allow_url_fopen</option>,
|
|
vous pouvez utiliser des URL (<acronym>HTTP</acronym> et <acronym>FTP</acronym>)
|
|
avec la majorité des fonctions qui utilisent un
|
|
nom de fichier comme paramètre. Cela inclut notamment
|
|
<function>include</function>,
|
|
<function>include_once</function>,
|
|
<function>require</function> et
|
|
<function>require_once</function>
|
|
(<option>allow_url_include</option> doit être actif pour les utiliser).
|
|
Reportez-vous à <xref linkend="wrappers"/> pour plus d'informations
|
|
sur les protocoles supportés par PHP.
|
|
</para>
|
|
<para>
|
|
Par exemple, vous pouvez suivre l'exemple suivant pour ouvrir un
|
|
fichier sur un serveur web distant, analyser les résultats
|
|
pour extraire les informations dont vous avez besoin, et ensuite
|
|
l'utiliser dans une requête de base de données, ou
|
|
simplement éditer les informations dans le style de votre site.
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Connaître le titre d'une page distante</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$file = fopen ("http://www.example.com/", "r");
|
|
if (!$file) {
|
|
echo "<p>Impossible de lire la page.\n";
|
|
exit;
|
|
}
|
|
while (!feof ($file)) {
|
|
$line = fgets ($file, 1024);
|
|
/* Cela ne fonctionne que si les balises Title sont correctement utilisées */
|
|
if (preg_match ("@\<title\>(.*)\</title\>@i", $line, $out)) {
|
|
$title = $out[1];
|
|
break;
|
|
}
|
|
}
|
|
fclose($file);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
Vous pouvez aussi écrire des fichiers sur un serveur FTP
|
|
aussi longtemps que vous êtes connecté avec un
|
|
utilisateur ayant les bons droits d'accès, alors que le
|
|
fichier n'existait pas encore.
|
|
</para>
|
|
<para>
|
|
Pour vous connecter avec un utilisateur autre qu'anonyme, vous devez
|
|
spécifier un nom d'utilisateur (et certainement le mot de passe) dans
|
|
l'URL, comme <literal>ftp://user:password@ftp.example.com/path/to/file</literal>.
|
|
(Vous pouvez utiliser le même type de syntaxe pour accéder
|
|
aux fichiers via <acronym>HTTP</acronym> lorsqu'ils nécessitent une
|
|
identification simple).
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Stocker des données sur un serveur distant</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$file = fopen ("ftp://ftp.example.com/incoming/outputfile", "w");
|
|
if (!$file) {
|
|
echo "<p>Impossible d'ouvrir le fichier distant pour écriture.\n";
|
|
exit;
|
|
}
|
|
/* Ecriture des données. */
|
|
fputs ($file, $_SERVER['HTTP_USER_AGENT'] . "\n");
|
|
fclose ($file);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
<note>
|
|
<para>
|
|
Remarque : vous pouvez avoir l'idée, à partir de
|
|
l'exemple ci-dessus, d'utiliser la même technique pour
|
|
écrire sur un log distant, mais comme mentionné ci-dessus
|
|
vous ne pouvez qu'écrire sur un nouveau fichier en utilisant
|
|
les fonctions <function>fopen</function> avec une URL. Pour faire des log
|
|
distribués, nous vous conseillons de regarder la partie
|
|
<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:
|
|
-->
|