File: remote-files.xml

package info (click to toggle)
phpdoc 20020310-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 35,272 kB
  • ctags: 354
  • sloc: xml: 799,767; php: 1,395; cpp: 500; makefile: 200; sh: 140; awk: 51
file content (109 lines) | stat: -rw-r--r-- 3,901 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.8 $ -->
 <chapter id="features.remote-files">
  <title>Utilisation des fichiers &agrave; distance</title>
  <para>
   Aussi longtemps que le support de la fonction d'ouverture
   g&eacute;n&eacute;rique de fichiers ("URL fopen wrapper")
   est actif lorsque vous configurez PHP (il est inutile de
   passer explicitement l'option 
   <link linkend="install.configure.disable-url-fopen-wrapper">--disable-url-fopen-wrapper</link>
   pour faire la configuration), vous pouvez utiliser des URLs
   (HTTP et FTP) avec la majorit&eacute; des fonctions qui utilisent un
   nom de fichier comme param&egrave;tre, ceci incluant les expressions
   <function>require</function> et <function>include</function>.
   <note>
    <para>
      Vous ne pouvez pas utiliser les fichiers distants dans les expressions
      <function>include</function> et <function>require</function> sous Windows.
    </para>
   </note>
  </para>
  <para>
   Par exemple, vous pouvez suivre l'exemple suivant pour ouvrir un
   fichier sur un serveur web distant, analyser les r&eacute;sultats
   pour extraire les informations dont vous avez besoin, et ensuite
   l'utiliser dans une requ&ecirc;te de base de donn&eacute;es, ou
   simplement &eacute;diter les informations dans le style de votre site.
  </para>
  <para>
   <example>
    <title>Conna&icirc;tre le titre d'une page distante</title>
    <programlisting role="php">
&lt;?php
  $file = fopen("http://www.php.net/", "r");
  if (!$file) {
    echo "&lt;p>Impossible d'ouvrir le fichier distant.\n";
    exit;
  }
  while (!feof($file)) {
    $line = fgets($file, 1024);
    /* Cela ne fonctionne que si le titre est &eacute;crit sur une ligne.*/
    if (eregi("&lt;title>(.*)&lt;/title>", $line, $out)) {
      $title = $out[1];
      break;
    }
  }
  fclose($file);
?&gt;
    </programlisting>
   </example>
  </para>
  <para>
   Vous pouvez aussi &eacute;crire des fichiers sur un serveur FTP
   aussi longtemps que vous &ecirc;tes connect&eacute; avec un
   utilisateur ayant les bons droits d'acc&egrave;s, alors que le
   fichier n'existait pas encore. Pour vous connecter avec un
   utilisateur autre qu'anonyme, vous devez sp&eacute;cifier un
   nom d'utilisateur (et certainement le mot de passe) dans l'URL,
   comme par exemple 'ftp://user:password&#64;ftp.example.com/path/to/file'.
   (Vous pouvez utiliser le m&ecirc;me type de syntaxe pour acc&eacute;der
   aux fichiers via <acronym>HTTP</acronym> lorsqu'ils n&eacute;cessitent une
   authentification basique).
  </para>
  <para>
   <example>
    <title>Stocker des donn&eacute;es sur un serveur distant</title>
    <programlisting role="php">
&lt;?php
  $file = fopen("ftp://ftp.php.net/incoming/outputfile", "w");
  if (!$file) {
    echo "&lt;p>Impossible d'ouvrir un fichier distant en &eacute;criture.\n";
    exit;
  }
  /* Ecriture des donn&eacute;es. */
  fputs($file, "$HTTP_USER_AGENT\n");
  fclose($file);
?&gt;
    </programlisting>
   </example>
  <note>
   <para>
    Remarque: Vous pouvez avoir l'id&eacute;e,&agrave; partir de
    l'exemple ci-dessus, d'utiliser la m&ecirc;me technique pour
    &eacute;crire sur un log distant, mais comme mentionn&eacute; ci-dessus
    vous ne pouvez qu'&eacute;crire sur un nouveau fichier en utilisant
    les fonctions <function>fopen</function> avec une URL. Pour faire des log
    distribu&eacute;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:"../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->