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 (117 lines) | stat: -rw-r--r-- 3,516 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
110
111
112
113
114
115
116
117
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- EN-Revision: 1.13 Maintainer: cortesi Status: ready -->
<!-- CREDITS: marco -->
 <chapter id="features.remote-files">
  <title>Utilizzo di file remoti</title>

  <para>
   Quando viene abilitato il supporto per l "URL fopen wrapper" durante
   la configurazione di PHP (avviene automaticamente a meno che si 
   specifichi espressamente il flag <option>--disable-url-fopen-wrapper</option> (per le versioni
   sino alla 4.0.3) oppure impostare  (per le nuove versioni)),
   si possono usare URL FTP e HTTP con la maggior parte delle funzioni che 
   richiedono nomi di file come parametri, incluse le funzioni 
   <function>require</function>
   e <function>include</function>.
  </para>
  <para>
   <note>
    <para>
     Non si possono usare i file remoti con <function>include</function> e
     <function>require</function> sotto Windows.
    </para>
   </note>
  </para>
  <para>
   Per esempio, si pu usare per aprire un file da un web server remoto,
   elaborare i dati presi da remoto, e usarli per effetuare delle query,
   o semplicemente visualizzarli con lo stile 
   del proprio sito web.
  </para>
  <para>
   <example>
    <title>Legere il titolo di una pagina web remota</title>
    <programlisting role="php">
<![CDATA[
<?php
$file = fopen ("http://www.php.net/", "r");
if (!$file) {
    echo "<p>Impossibile aprire il file remoto.\n";
    exit;
}
while (!feof ($file)) {
    $linea = fgets ($file, 1024);
    /* Funziona solo se title e i relativi tag sono sulla medesima riga */
    if (eregi ("<title>(.*)</title>", $linea, $out)) {
        $title = $out[1];
        break;
    }
}
fclose($file);
?>
]]>
    </programlisting>
   </example>
  </para>
  <para>
   Si pu&ograve; anche scrivere in un file remoto via FTP se l'utente con cui ci
   si connette ha le autorizzazioni necessarie, e il file non &egrave; gi&agrave; presente.
   Per connettersi con un utenti specifico si ha bisogno di specificare lo username
   (e la relativa password) dentro l'URL in questo modo:
   'ftp://user:password@ftp.test.com/dir/del/file'. (Si pu&ograve; usare lo stesso 
   tipo di sintassi per accedere a file via HTTP quando 
   richiedono autenticazione).
  </para>
  <para>
   <example>
    <title>Salvataggio di dati su server remoto</title>
    <programlisting role="php">
<![CDATA[
<?php
$file = fopen ("ftp://ftp.php.net/incoming/outputfile", "w");
if (!$file) {
    echo "<p>Impossibile aprire il file remoto in scrittura.\n";
    exit;
}
/* Scrive i dati qui. */
fputs ($file, "$HTTP_USER_AGENT\n");
fclose ($file);
?>
]]>  
    </programlisting>
   </example>
  </para>
  <para>
   <note>
    <para>
    Dall'esempio precedente ci si pu&ograve; fare un'idea di come usare questa
    tecnica per effettuare dei log in remoto, ma come gi&agrave; accennato non &egrave; 
    possibile scrivere su file gi&agrave; esistenti con questo sitema. 
    Per fare una procedura di log distribuito &egrave; pi indicata la funzione 
    <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:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->