cortesi Mon Dec 17 07:40:13 2001 EDT
Modified files:
/phpdoc/it/functions filesystem.xml
Log:
adding italian version og filesystem sync of EN 1.83
Index: phpdoc/it/functions/filesystem.xml
diff -u /dev/null phpdoc/it/functions/filesystem.xml:1.11
--- /dev/null Mon Dec 17 07:40:13 2001
+++ phpdoc/it/functions/filesystem.xml Mon Dec 17 07:40:12 2001
@@ -0,0 +1,2784 @@
+<?xml encoding="iso-8859-1"?>
+<!-- EN-Revision: 1.83 Maintainer: giacomo Status: ready -->
+ <reference id="ref.filesystem">
+ <title>Funzioni sul filesystem</title>
+ <titleabbrev>Filesystem</titleabbrev>
+
+ <refentry id="function.basename">
+ <refnamediv>
+ <refname>basename</refname>
+ <refpurpose>
+ Ritorna il nome del file dal percorso indicato
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>basename</function></funcdef>
+ <paramdef>string <parameter>path</parameter></paramdef>
+ <paramdef>string <parameter><optional>suffix</optional></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Data una stringa contenente il percorso di un file, questa funzione restituisce
+il nome del file.
+ Se il nome del file finisce in <parameter>suffix</parameter> quest'ultimo verr�
+tagliato.
+ </para>
+ <para>
+ Su Windows, sia gli slash (<literal>/</literal>) che i backslash
+ (<literal>\</literal>) vengono utilizzati come carattere si separazione nei
+percorsi.
+ In altri ambienti, si usa solo lo slash semplice
+ (<literal>/</literal>).
+ </para>
+ <para>
+ <example>
+ <title><function>basename</function> example</title>
+ <programlisting role="php">
+$path = "/home/httpd/html/index.php";
+$file = basename ($path); // la variabile $file contiene "index.php"
+$file = basename ($path,".php"); // la variabile $file contiene "index"
+ </programlisting>
+ </example>
+ </para>
+ <note>
+ <para>
+ Il parametro <parameter>suffix</parameter> � stato aggiunto in PHP 4.1.0.
+ </para>
+ </note>
+ <para>
+ Vedi anche: <function>dirname</function>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.chgrp">
+ <refnamediv>
+ <refname>chgrp</refname>
+ <refpurpose>Cambia il gruppo del file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>chgrp</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ <paramdef>mixed <parameter>group</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Tenta di cambiare il gruppo del file
+ <parameter>filename</parameter> in
+ <parameter>group</parameter>. Solo l'amministratore pu� cambiare il gruppo di un
+file arbitrariamente;
+ gli altri utenti possono cambiare il gruppo dei file solo fra gruppi di cui sono
+membri.
+ </para>
+ <para>
+ Ritorna &true; se ha successo; &false; altrimenti.
+ </para>
+ <para>
+ Vedi anche <function>chown</function> e
+ <function>chmod</function>.
+ </para>
+ <note>
+ <simpara>
+ Questa funzione non gira sui sistemi Windows
+ </simpara>
+ </note>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.chmod">
+ <refnamediv>
+ <refname>chmod</refname>
+ <refpurpose>Cambia le impostazioni del file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>chmod</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ <paramdef>int <parameter>mode</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Tenta di cambiare le impostazioni del file
+ <parameter>filename</parameter> in quelle date in
+ <parameter>mode</parameter>.
+ </para>
+ <para>
+ Si osservi che <parameter>mode</parameter> non viene automaticamente
+ assunto come valore ottale, per cui le stringhe (come "g+w") non verranno
+ elaborate correttamente. Per ottenere l'operazione desiderata, � necessario
+ far iniziare <parameter>mode</parameter> con uno zero (0):
+ <informalexample>
+ <programlisting role="php">
+chmod ("/somedir/somefile", 755); // decimale; probabilmente errato
+chmod ("/somedir/somefile", "u+rwx,go+rx"); // stringa; errato
+chmod ("/somedir/somefile", 0755); // ottale; valore corretto di mode
+ </programlisting>
+ </informalexample>
+ </para>
+ <para>
+ Ritorna &true; se ha successo; &false; altrimenti.
+ </para>
+ <para>
+ Vedi anche <function>chown</function> and
+ <function>chgrp</function>.
+ </para>
+ <note>
+ <simpara>
+ Questa funzione non gira sui sistemi Windows
+ </simpara>
+ </note>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.chown">
+ <refnamediv>
+ <refname>chown</refname>
+ <refpurpose>Cambia il proprietario del file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>chown</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ <paramdef>mixed <parameter>user</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Tenta di cambiare il proprietario di un file in <parameter>user</parameter>.
+ Solo l'amministratore pu� cambiare il proprietario di un file.
+ </para>
+ <para>
+ Ritorna &true; se ha successo; &false; altrimenti.
+ </para>
+ <para>
+ Vedi anche <function>chown</function> and
+ <function>chmod</function>.
+ </para>
+ <note>
+ <simpara>
+ Questa funzione non gira sui sistemi Windows
+ </simpara>
+ </note>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.clearstatcache">
+ <refnamediv>
+ <refname>clearstatcache</refname>
+ <refpurpose>Libera la cache dallo stat</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>void <function>clearstatcache</function></funcdef>
+ <void/>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Invocare le funzioni di sistema <systemitem>stat</systemitem> o
+ <systemitem>lstat</systemitem> comporta un buon dispendio di risorse
+ nella maggioranza dei sistemi. Tuttavia, il risultato del'ultima chiamata
+ ad una qualunque funzione di stato (elencate sotto) viene memorizzato per
+ utilizzarlo sulla successiva chiamata analoga allo stesso file.
+ Se intendi forzare una nuova verifica di stato, per esempio perch�
+ il file � stato verificato molte volte e pu� cambiare o sparire, puoi usare
+ questa funzione per liberare la memoria dai risultati dell'ultima chiamata.
+ </para>
+ <para>
+ Tale valore viene memorizzato solo per la durata di una singola richiesta.
+ </para>
+ <para>
+ Le funzioni coinvolte sono <function>stat</function>,
+ <function>lstat</function>,
+ <function>file_exists</function>,
+ <function>is_writable</function>,
+ <function>is_readable</function>,
+ <function>is_executable</function>,
+ <function>is_file</function>,
+ <function>is_dir</function>,
+ <function>is_link</function>,
+ <function>filectime</function>,
+ <function>fileatime</function>,
+ <function>filemtime</function>,
+ <function>fileinode</function>,
+ <function>filegroup</function>,
+ <function>fileowner</function>,
+ <function>filesize</function>,
+ <function>filetype</function>, e
+ <function>fileperms</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.copy">
+ <refnamediv>
+ <refname>copy</refname>
+ <refpurpose>Copia un file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>copy</function></funcdef>
+ <paramdef>string <parameter>source</parameter></paramdef>
+ <paramdef>string <parameter>dest</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Copia un file. Ritorna &true; se la copia riesce,
+ &false; altrimenti.
+ <example>
+ <title><function>copy</function> example</title>
+ <programlisting role="php">
+if (!copy($file, $file.'.bak')) {
+ print ("failed to copy $file...<br>\n");
+}
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Vedi anche: <function>rename</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.delete">
+ <refnamediv>
+ <refname>delete</refname>
+ <refpurpose>Una funzione che non c'�</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>void <function>delete</function></funcdef>
+ <paramdef>string <parameter>file</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Questa funzione non esiste, la sua presenza nel manuale vuole essere utile
+ a coloro che cercano nel posto sbagliato le funzioni
+ <function>unlink</function> o <function>unset</function>.
+ </para>
+ <para>
+ Vedi anche: <function>unlink</function> per cancellare file,
+ <function>unset</function> per eliminare variabili.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.dirname">
+ <refnamediv>
+ <refname>dirname</refname>
+ <refpurpose>Ritorna il nome della directory dal percorso indicato</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>dirname</function></funcdef>
+ <paramdef>string <parameter>path</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Data una stringa contenente il percorso di un file, questa funzione
+ ritorner� il nome della directory.</para>
+ <para>
+ Su windows sia gli slash (<literal>/</literal>) che i backslash
+ (<literal>\</literal>) vengono utilizzati come caratteri di separazione nei
+ percorsi. In altri ambienti, c'� solo lo slash in avanti
+ (<literal>/</literal>).</para>
+ <para>
+ <example>
+ <title><function>dirname</function> example</title>
+ <programlisting role="php">
+$path = "/etc/passwd";
+$file = dirname ($path); // $file contiene "/etc"
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Vedi anche: <function>basename</function>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.diskfreespace">
+ <refnamediv>
+ <refname>diskfreespace</refname>
+ <refpurpose>Ritorna lo spazio disponibile sulla directory</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>float <function>diskfreespace</function></funcdef>
+ <paramdef>string <parameter>directory</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Data una stringa contenene una directory, questa funzione ritorner�
+ il numero dei byte disponibili sul filesystem o sulla partizione
+ corrispondente.
+ </para>
+ <para>
+ <example>
+ <title><function>diskfreespace</function> example</title>
+ <programlisting role="php">
+$df = diskfreespace("/"); // $df contiene il numero di byte
+ // disponibili su "/"
+ </programlisting>
+ </example>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.disk-total-space">
+ <refnamediv>
+ <refname>disk_total_space</refname>
+ <refpurpose>Ritorna lo spazio totale di una directory</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>float <function>disk_total_space</function></funcdef>
+ <paramdef>string <parameter>directory</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Data una stringa contenente una directory, questa funzione ritorner�
+ il numero totale di byte del filesystem o della partizione corrispondente.
+ </para>
+ <para>
+ <example>
+ <title><function>disk_total_space</function> example</title>
+ <programlisting role="php">
+$df = disk_total_space("/"); // $df contiene il numero totale di
+ // byte disponibile su "/"
+ </programlisting>
+ </example>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.fclose">
+ <refnamediv>
+ <refname>fclose</refname>
+ <refpurpose>Chiude un puntatore a file aperto</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>bool <function>fclose</function></funcdef>
+ <paramdef>int <parameter>fp</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Chiude il file puntato da <parameter>fp</parameter>.
+ </para>
+ <para>
+ Ritorna &true; in caso di successo e &false;
+ altrimenti.
+ </para>
+ <para>
+ Il puntatore al file deve essere valido e deve puntare ad un file
+ aperto correttamente da <function>fopen</function> o da
+ <function>fsockopen</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.feof">
+ <refnamediv>
+ <refname>feof</refname>
+ <refpurpose>Verifica se � stata raggiunta la fine del file su un puntatore a
+file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>feof</function></funcdef>
+ <paramdef>int <parameter>fp</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ritorna &true; se il puntatore al file ha raggiunto la fine del file (EOF)
+ o si � verificato un errore; altrimenti ritorna &false;.
+ </para>
+ <para>
+ Il puntatore al file deve essere valido e deve puntare ad un file
+ correttamente aperto da <function>fopen</function>,
+ <function>popen</function> o <function>fsockopen</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.fflush">
+ <refnamediv>
+ <refname>fflush</refname>
+ <refpurpose>Invia l'output in un file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>fflush</function></funcdef>
+ <paramdef>int <parameter>fp</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Questa funzione forza la scrittura di tutto l'output bufferizzato sulla
+ risorsa puntata da puntatore <parameter>fp</parameter>.
+ Ritorna &true; se ha successo, &false;
+ altrimenti.
+ </para>
+ <para>
+ Il puntatore al file deve essere valido e deve puntare ad un file
+ correttamente aperto da <function>fopen</function>,
+ <function>popen</function> o <function>fsockopen</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.fgetc">
+ <refnamediv>
+ <refname>fgetc</refname>
+ <refpurpose>Prende un carattere da un puntatore a file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>fgetc</function></funcdef>
+ <paramdef>int <parameter>fp</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ritorna una stringa contenente un singolo carattere letto dal file puntato
+ da fp. Ritorna &false; alla fine del file (EOF).
+ </para>
+ <para>
+ Il puntatore al file deve essere valido e deve puntare ad un file
+ correttamente aperto da <function>fopen</function>,
+ <function>popen</function> o <function>fsockopen</function>.
+ </para>
+ <para>
+ Vedi anche <function>fread</function>, <function>fopen</function>,
+ <function>popen</function>, <function>fsockopen</function>, e
+ <function>fgets</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.fgetcsv">
+ <refnamediv>
+ <refname>fgetcsv</refname>
+ <refpurpose>
+ Prende una riga da un puntatore a file e l'analizza in cerca di campi CSV
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>array <function>fgetcsv</function></funcdef>
+ <paramdef>int <parameter>fp</parameter></paramdef>
+ <paramdef>int <parameter>length</parameter></paramdef>
+ <paramdef>string
+ <parameter>
+ <optional>delimiter</optional>
+ </parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ Simile a <function>fgets</function> eccetto che per il fatto che
+ <function>fgetcsv</function> analizza le righe che legge in cerca di campi
+ in in formato <acronym>CSV</acronym> e ritorna un vettore contenente
+ i campi letti. Il delimitatore di campo � una virgola, a meno che non
+ venga specificato un altro delimitatore con il terzo parametro opzionale.
+ </simpara>
+ <simpara>
+ <parameter>Fp</parameter> deve essere un puntatore valido ad un file
+ correttamente aperto da <function>fopen</function>,
+ <function>popen</function> o <function>fsockopen</function>
+ </simpara>
+ <simpara>
+ Length deve essere maggiore della linea pi� lunga trovata nel file CSV
+ (compresi i caratteri di fine riga).
+ </simpara>
+ <simpara>
+ <function>fgetcsv</function> ritorna &false; in caso d'errore e
+ alla fine del file.
+ </simpara>
+ <simpara>
+ N.B. Una riga vuota in un file CVS verra riportata come un vettore
+ contenente un solo campo vuoto (&null;), e non verr� trattata come un errore.
+ </simpara>
+ <example>
+ <title>
+ <function>fgetcsv</function> example - Legge e scrive l'intero contenuto
+ di un file CSV.
+ </title>
+ <programlisting role="php">
+$row = 1;
+$fp = fopen ("test.csv","r");
+while ($data = fgetcsv ($fp, 1000, ",")) {
+ $num = count ($data);
+ print "<p> $num fields in line $row: <br>";
+ $row++;
+ for ($c=0; $c<$num; $c++) {
+ print $data[$c] . "<br>";
+ }
+}
+fclose ($fp);
+ </programlisting>
+ </example>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.fgets">
+ <refnamediv>
+ <refname>fgets</refname>
+ <refpurpose>Prende una riga da un puntatore a file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>fgets</function></funcdef>
+ <paramdef>int <parameter>fp</parameter></paramdef>
+ <paramdef>int <parameter>length</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ritorna una stringa di length - 1 byte letti dal file puntato da fp.
+ La lettura termina quando sono stati letti length - 1 byte, in un caratere
+ i newline (che viene incluso nel valore ritornato), o alla fine del file
+ (EOF) qualora giunga prima.
+ </para>
+ <para>
+ Se si verifica un errore, ritorna &false;.
+ </para>
+ <para>
+ Errori comuni:
+ </para>
+ <simpara>
+ Le persone abituate alla semantica 'C' di fgets notino la differenza
+ nel trattamento dell'EOF.
+ </simpara>
+ <simpara>
+ Il puntatore al file deve essere valido e deve puntare ad un file
+ correttamente aperto da <function>fopen</function>,
+ <function>popen</function>, o
+ <function>fsockopen</function>.
+ </simpara>
+ <para>
+ Segue un semplice esempio:
+ <example>
+ <title>Legge un file riga per riga</title>
+ <programlisting role="php">
+$fd = fopen ("/tmp/inputfile.txt", "r");
+while (!feof ($fd)) {
+ $buffer = fgets($fd, 4096);
+ echo $buffer;
+}
+fclose ($fd);
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Vedi anche <function>fread</function>, <function>fopen</function>,
+ <function>popen</function>, <function>fgetc</function>,
+ <function>fsockopen</function>, e
+ <function>socket_set_timeout</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.fgetss">
+ <refnamediv>
+ <refname>fgetss</refname>
+ <refpurpose>
+ Prende una riga da un puntatore a file ed elimina i tag HTML
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>fgetss</function></funcdef>
+ <paramdef>int <parameter>fp</parameter></paramdef>
+ <paramdef>int <parameter>length</parameter></paramdef>
+ <paramdef>string
+ <parameter>
+ <optional>allowable_tags</optional>
+ </parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Identica a <function>fgets</function>, eccetto per il fatto che fgetss
+ tenta di eliminare tutti i tag HTML e PHP dal testo che legge.
+ </para>
+ <para>
+ Puoi utilizzare il terzo parametro (opzionale) per specificare quali tag
+ non devono essere eliminati.
+ <note>
+ <para>
+ Il parametro <parameter>allowable_tags</parameter> � stato aggiunto in
+ PHP 3.0.13, PHP4B3.
+ </para>
+ </note>
+ </para>
+ <para>
+ Vedi anche <function>fgets</function>, <function>fopen</function>,
+ <function>fsockopen</function>, <function>popen</function>, e
+ <function>strip_tags</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.file">
+ <refnamediv>
+ <refname>file</refname>
+ <refpurpose>Legge l'intero file in un vettore</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>array <function>file</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ <paramdef>int
+ <parameter><optional>use_include_path</optional></parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Identica a <function>readfile</function>, eccetto per il fatto che
+ <function>file</function> ritorna il file in un vettore. Ogni
+ elemento del vettore corrisponde ad una riga del file, con il carattere di
+ newline ancora inserito.
+ </para>
+ <para>
+ Puoi impostare il secondo parametro (opzionale) ad "1", se
+ vuoi cercare il file nel <link
+ linkend="ini.include-path">include_path</link>.
+ </para>
+ <para>
+ <informalexample>
+ <programlisting role="php">
+<?php
+// inserisce una pagina web in un vettore e lo stampa
+$fcontents = file ('http://www.php.net');
+while (list ($line_num, $line) = each ($fcontents)) {
+ echo "<b>Line $line_num:</b> " . htmlspecialchars ($line) .
+"<br>\n";
+}
+
+// inserisce una pagina web in una stringa
+$fcontents = join ('', file ('http://www.php.net'));
+?>
+ </programlisting>
+ </informalexample>
+ </para>
+ <para>
+ Vedi anche <function>readfile</function>,
+ <function>fopen</function>, <function>fsockopen</function>, e
+ <function>popen</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+
+ <refentry id="function.file-exists">
+ <refnamediv>
+ <refname>file_exists</refname>
+ <refpurpose>Controlla se un file esiste</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>bool <function>file_exists</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ Ritorna &true; se il file specificato da
+ <parameter>filename</parameter> esiste; &false; altrimenti.
+ </simpara>
+ <simpara>
+ Questa funzione non lavora con i <link
+ linkend="features.remote-files">file remoti</link>; il file da esaminare
+ deve essere accessibile attraverso il filesystem del server.
+ </simpara>
+ <simpara>
+ I risultati di questa funzione vengono memorizzati nella cache. Vedi
+ <function>clearstatcache</function> per maggiori informazioni.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+
+ <refentry id="function.fileatime">
+ <refnamediv>
+ <refname>fileatime</refname>
+ <refpurpose>Prende l'ora dell'ultimo accesso al file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>fileatime</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ Ritorna l'ora in cui il file ha ricevuto l'ultimo accesso, o &false;
+ in caso di errore. L'ora viene ritornata come un timestamp Unix.
+ </simpara>
+ <simpara>
+ I risultati di questa funzione vengono memorizzati nella cache. Vedi
+ <function>clearstatcache</function> per maggiori informazioni.
+ </simpara>
+ <simpara>
+ N.B.: Si suppone che l'atime di un file cambi ogni volta che
+ i blocchi di dati del file vengono letti. Ci� pu� risultare costoso per
+ le performance quando una applicazione accede con regolarit�
+ ad un numero elevato di file o directory. Alcuni filesystem
+ Unix possono essere montati con l'aggiornamento dell'atime disabilitato
+ per aumentare le performance di tali applicazioni; Gli spool delle news USENET
+ costituiscono un esempo frequente. In tali filesystem
+ queste funzioni sono inutili.
+ </simpara>
+ <simpara>
+ Questa funzione non lavora con i <link
+ linkend="features.remote-files">file remoti</link>; i file da
+ esaminare devono essere accessibili attraverso il filesystem del server.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.filectime">
+ <refnamediv>
+ <refname>filectime</refname>
+ <refpurpose>Prende l'ora in cui l'inode del file � stato modificato</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>filectime</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ritorna l'ora in cui il file � stato cambiato l'ultima volta o &false; in
+ caso d'errore. L'ora viene restituita come un timestamp di Unix.
+ </para>
+ <para>
+ I risultati di questa funzione vengono memorizzati nella cache. Vedi
+ <function>clearstatcache</function> per maggiori informazioni.
+ </para>
+ <para>
+ Nota: In molti filesystem Unix, si considera un file modificato, quando il
+ suo inode viene cambiato; cio� quando i permessi, il proprietario, il gruppo
+ o altri metadata dell'inode vengono aggiornati.Vedi anche
+ <function>filemtime</function> (che � ci� che ti serve se vuoi inserire la
+ scritta "Ultima modifica: " nel piede delle tue pagine web) e
+ <function>fileatime</function>.
+ </para>
+ <para>Sappi anche che in alcuni testi su Unix si fa riferimento al ctime di
+ un file come l'ora di creazione dello stesso. E' sbagliato.
+ Nella maggioranza dei filesystem Unix non esiste un oa di creazione.
+ </para>
+ <simpara>
+ Questa funzione non lavora con i <link
+ linkend="features.remote-files">file remoti</link>; i file da
+ esaminare devono essere accessibili attraverso il filesystem del server.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.filegroup">
+ <refnamediv>
+ <refname>filegroup</refname>
+ <refpurpose>Restituisce il gruppo di un file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>filegroup</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ritorna il l'ID del gruppo cui appartiene il proprietario del file,
+ o &false; in caso d'errore. L'ID del gruppo viene ritornato
+ in formato numerico: usa
+ <function>posix_getgrgid</function> per trasformarlo nel nome del gruppo.
+ </para>
+ <para>
+ I risultati di questa funzione vengono memorizzati nella cache. Vedi
+ <function>clearstatcache</function> per maggiori informazioni.
+ </para>
+ <note>
+ <simpara>
+ Questa funzione non gira sui sistemi Windows
+ </simpara>
+ <simpara>
+ Questa funzione non lavora con i <link
+ linkend="features.remote-files">file remoti</link>; i file da
+ esaminare devono essere accessibili attraverso il filesystem del server.
+ </simpara>
+ </note>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.fileinode">
+ <refnamediv>
+ <refname>fileinode</refname>
+ <refpurpose>Restituisce il numero di inode del file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>fileinode</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ritorna il numero di inode del file, o &false; in caso d'errore.
+ </para>
+ <para>
+ I risultati di questa funzione vengono memorizzati nella cache. Vedi
+ <function>clearstatcache</function> per maggiori informazioni.
+ </para>
+ <simpara>
+ Questa funzione non lavora con i <link
+ linkend="features.remote-files">file remoti</link>; i file da
+ esaminare devono essere accessibili attraverso il filesystem del server.
+ </simpara>
+ <note>
+ <simpara>
+ Questa funzione non gira sui sistemi Windows
+ </simpara>
+ </note>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.filemtime">
+ <refnamediv>
+ <refname>filemtime</refname>
+ <refpurpose>Restituisce l'ora delle modifiche al file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>filemtime</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ritorna l'ora dell'ultima modifica al file o &false; in caso d'errore.
+ L'ora viene restituita come un timestamp di Unix.
+ </para>
+ <para>
+ I risultati di questa funzione vengono memorizzati nella cache. Vedi
+ <function>clearstatcache</function> per maggiori informazioni.
+ </para>
+ <simpara>
+ Questa funzione non lavora con i <link
+ linkend="features.remote-files">file remoti</link>; i file da
+ esaminare devono essere accessibili attraverso il filesystem del server.
+ </simpara>
+ <para>Nota: Questa funzione ritorna l'ora in cui i blocchi di dati di un file
+ vengono scritti, cio� l'ora in cui il contenuto del file � cambiato. Applica
+ <function>date</function> al risultato di questa funzione per ottenere una
+ data di modifica da utilizzare nei piedi delle tue pagine.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.fileowner">
+ <refnamediv>
+ <refname>fileowner</refname>
+ <refpurpose>Restituisce il proprietario del file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>fileowner</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ritorna l'ID dell'utente proprietario del file, o &false; in caso di
+ errore. L'ID dell'utente viene ritornato in formato numerico, usa
+ <function>posix_getpwuid</function> per trasformarlo nel nome dell'utente stesso.
+ </para>
+ <para>
+ I risultati di questa funzione vengono memorizzati nella cache. Vedi
+ <function>clearstatcache</function> per maggiori informazioni.
+ </para>
+ <simpara>
+ Questa funzione non lavora con i <link
+ linkend="features.remote-files">file remoti</link>; i file da
+ esaminare devono essere accessibili attraverso il filesystem del server.
+ </simpara>
+ <note>
+ <simpara>
+ Questa funzione non gira sui sistemi Windows
+ </simpara>
+ </note>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.fileperms">
+ <refnamediv>
+ <refname>fileperms</refname>
+ <refpurpose>Restituisce i permessi del file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>fileperms</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ritorna i permessi sul file, o &false; in caso d'errore.
+ </para>
+ <simpara>
+ Questa funzione non lavora con i <link
+ linkend="features.remote-files">file remoti</link>; i file da
+ esaminare devono essere accessibili attraverso il filesystem del server.
+ </simpara>
+ <para>
+ I risultati di questa funzione vengono memorizzati nella cache. Vedi
+ <function>clearstatcache</function> per maggiori informazioni.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.filesize">
+ <refnamediv>
+ <refname>filesize</refname>
+ <refpurpose>Restituisce la dimensione del file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>filesize</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ritorna la dimensione di un file, o &false; in caso d'errore.
+ </para>
+ <para>
+ I risultati di questa funzione vengono memorizzati nella cache. Vedi
+ <function>clearstatcache</function> per maggiori informazioni.
+ </para>
+ <simpara>
+ Questa funzione non lavora con i <link
+ linkend="features.remote-files">file remoti</link>; i file da
+ esaminare devono essere accessibili attraverso il filesystem del server.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.filetype">
+ <refnamediv>
+ <refname>filetype</refname>
+ <refpurpose>Restituisce il tipo di file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>filetype</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ritorna il tipo del file. Sono valori possibili fifo, char, dir, block,
+ link, file, and unknown.</para> <para> Ritorna &false; se si verifica un
+errore.
+ </para>
+ <para>
+ I risultati di questa funzione vengono memorizzati nella cache. Vedi
+ <function>clearstatcache</function> per maggiori informazioni.
+ </para>
+ <simpara>
+ Questa funzione non lavora con i <link
+ linkend="features.remote-files">file remoti</link>; i file da
+ esaminare devono essere accessibili attraverso il filesystem del server.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.flock">
+ <refnamediv>
+ <refname>flock</refname>
+ <refpurpose>Sistema di bloccaggio file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>bool <function>flock</function></funcdef>
+ <paramdef>int <parameter>fp</parameter></paramdef>
+ <paramdef>int <parameter>operation</parameter></paramdef>
+ <paramdef>int
+ <parameter>
+ <optional>wouldblock</optional>
+ </parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ Il PHP supporta un tecnologia portabile per bloccare file completi in modalit�
+ advisory (tutti i programmi che vi accedono, devono usare lo stesso tipo di
+ bloccaggio o non funzioner�).
+ PHP supports a portable way of locking complete files in an
+ advisory way (which means all accessing programs have to use the
+ same way of locking or it will not work).
+ </simpara>
+ <simpara>
+ <function>flock</function> opera su <parameter>fp</parameter>
+ che deve essere un puntatore ad un file aperto.
+ <parameter>operation</parameter> pu� assumere uno dei valori seguenti:
+ </simpara>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ Per acquisire una chiave condivisa (in lettura), imposta
+ <parameter>operation</parameter> a LOCK_SH (usa 1 prima di
+ PHP 4.0.1).
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Per acquisire una chiave esclusiva (in scrittura), imposta
+ <parameter>operation</parameter> a LOCK_EX (usa 2 prima di
+ PHP 4.0.1).
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Per rilasciare una chiave (condivisa o esclusiva), imposta
+ <parameter>operation</parameter> a LOCK_UN (usa 3 prima
+ PHP 4.0.1).
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Se non vuoi che <function>flock</function> blocchi mentre,
+ imposta come LOCK_NB (4 prima di PHP 4.0.1)
+ <parameter>operation</parameter>.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <simpara>
+ <function>flock</function> ti permette di utilizzare un semplice modello di
+ lettura/scrittura che in teoria pu� essere usato su qualsiasi piattaforma
+ (inclusi molti sistemi Unix e anche Windows). Il terzo argomento (opzionale)
+ pu� essere impostato a &true; se la chiave puo bloccare (EWOULDBLOCK
+ errno condition)
+ </simpara>
+ <simpara>
+ <function>flock</function> ritorna &true; se ha successo e &false; in caso
+ d'errore (ad esempio quando una chiave (lock) non pu� venire acquisita).
+ </simpara>
+ <warning>
+ <para>
+ Su molti sistemi operativi <function>flock</function> � implementato a livello
+ di processo. Usando un server API multithread quale
+ ISAPI non potrai basarti su <function>flock</function> per proteggerre
+ i file da altri script PHP che girino in thread paralleli della stessa istanza
+del server!
+ </para>
+ </warning>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.fopen">
+ <refnamediv>
+ <refname>fopen</refname>
+ <refpurpose>Apre un file o un URL</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>fopen</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ <paramdef>string <parameter>mode</parameter></paramdef>
+ <paramdef>int
+ <parameter>
+ <optional>use_include_path</optional>
+ </parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ Se <parameter>filename</parameter> inizia con "http://" (indipendentemente dalle
+maiuscole),
+ viene aperta una connessione HTTP 1.0 al server specificato,
+ la pagina viene richiesta usando il metodo HTTP GET e un puntatore a file
+viene ritornato
+ all'inizio del corpo della risposta. Un header 'Host:' viene inviato con la
+richiesta
+ in modo di soddisfare i virtual host basati sui nomi.
+ </simpara>
+ <simpara>
+ Nota che il puntatore al file ti permette di ottenere solo il
+ <emphasis>body</emphasis> della risposta; non puoi accedere alle intestazioni
+ HTTP usando questa funzione.
+ </simpara>
+ <simpara>
+ Le versioni precedenti al PHP 4.0.5 non elaborano i redirect HTTP. Perci�,
+ le directory devono includere gli slash finali.
+ </simpara>
+ <simpara>
+ Se <parameter>filename</parameter> inizia con "ftp://" (case insensitive),
+ Viene aperta una connessione ftp al server specificato e viene ritornato
+ un puntatore al file richiesto. Se il server non supporta l'FTP passivo,
+fallir�.
+ Via ftp puoi aprire file sia in lettura che scrittura (ma non
+contemporaneamente).
+ </simpara>
+ <simpara>
+ Se <parameter>filename</parameter> � impostato a "php://stdin",
+ "php://stdout", o "php://stderr", lo stream stdio corrispondente
+ verr� aperto. (Ci� � stato introdotto in PHP 3.0.13;
+ in versioni precedenti, si deve usare un nome di file file come "/dev/stdin" o
+ "/dev/fd/0" per accedere ai flussi dello stdio.)
+ </simpara>
+ <simpara>
+ Se <parameter>filename</parameter> inizia con qualsiasi altra cosa, il
+ file verr� aperto dal filesystem, e verr� ritornato un puntatore ad esso.
+ </simpara>
+ <simpara>
+ Se l'apertura fallisce, la funzione ritorna &false;.
+ </simpara>
+ <para>
+ <parameter>mode</parameter> pu� essere uno dei seguenti:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ 'r' - Apre in sola lettura; posiziona il puntatore all'inizio del file.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ 'r+' - Apre in lettura e scrittura; posiziona il puntatore all'inizio del
+file.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ 'w' - Apre il file in sola scrittura; posiziona il puntatore all'inizio del
+file
+ e tronce il file alla lunghezza zero.
+ Se il file non esiste, tenta di crearlo.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ 'w+' - Apre in lettura e scrittura; posiziona il puntatore all'inizio del file
+ e tronce il file alla lunghezza zero.
+ Se il file non esiste, tenta di crearlo.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ 'a' - Apre in sola scrittura; posiziona il puntatore alla fine del file.
+ Se il file non esiste, tenta di crearlo.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ 'a+' - Apre in lettura e scrittura; posiziona il puntatore alla fine del
+file.
+ Se il file non esiste, tenta di crearlo.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <note>
+ <para>
+ <parameter>mode</parameter> pu� anche essere impostato a
+ 'b'. Ci� � utile solo in sistemi che differenziano fra file binari e di testo
+ (ad esempio Windows. � inutile su Unix). Se non � necessario, tale valore
+verr� ignorato.
+ </para>
+ </note>
+ <para>
+ Puoi utilizzare il terzo parametro opzionale ed impostarlo ad "1", se vuoi
+ cercare il file anche nel <link
+linkend="ini.include-path">include_path</link>.
+ </para>
+ <para>
+ <example>
+ <title><function>fopen</function> esempio</title>
+ <programlisting role="php">
+$fp = fopen ("/home/rasmus/file.txt", "r");
+$fp = fopen ("/home/rasmus/file.gif", "wb");
+$fp = fopen ("http://www.php.net/", "r");
+$fp = fopen ("ftp://user:[EMAIL PROTECTED]/", "w");
+ </programlisting>
+ </example>
+ </para>
+ <simpara>
+ Se incontri problemi nella lettura o scrittura di file e stai usando una
+ versione di PHP come modulo server, ricorda di verificare che i file e le
+ directory che stai usando siano accessibili al processo server.
+ </simpara>
+ <para>
+ Sulle piattaforme Windows, fai attenzione ad dichiarare ogni backslash
+ utilizzata nel percorso del file, o utilizza gli slash semplici.
+ <informalexample>
+ <programlisting role="php">
+$fp = fopen ("c:\\data\\info.txt", "r");
+ </programlisting>
+ </informalexample>
+ </para>
+ <simpara>
+ Vedi anche <function>fclose</function>,
+ <function>fsockopen</function>,
+ <function>socket_set_timeout</function>, e
+ <function>popen</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.fpassthru">
+ <refnamediv>
+ <refname>fpassthru</refname>
+ <refpurpose>
+ Invia tutti i dati rimanenti su un puntartore a file
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>fpassthru</function></funcdef>
+ <paramdef>int <parameter>fp</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ Legge fino a EOF sul puntatore al file dato e scrive i risultati sullo
+ standard output.
+ </simpara>
+ <simpara>
+ Se si verifica un errore, <function>fpassthru</function> ritorna
+ &false;.
+ </simpara>
+ <simpara>
+ Il puntatore al file deve essere valido e deve puntare ad un file
+ correttamente aperto da <function>fopen</function>,
+ <function>popen</function> o <function>fsockopen</function>.
+ Il file viene chiuso quando <function>fpassthru</function> viene conclusa
+ la sua lettura (lasciando <parameter>fp</parameter> inutilizzato).
+ </simpara>
+ <simpara>
+ Se desideri semplicemente inviare il contenuto di un file sullo stdout,
+ potresti preferire <function>readfile</function>, che ti salva la
+ chiamata a <function>fopen</function>.
+ </simpara>
+ <simpara>
+ Vedi anche <function>readfile</function>,
+ <function>fopen</function>, <function>popen</function>, e
+ <function>fsockopen</function>
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.fputs">
+ <refnamediv>
+ <refname>fputs</refname>
+ <refpurpose>Scrive su un puntatore a file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>fputs</function></funcdef>
+ <paramdef>int <parameter>fp</parameter></paramdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ <paramdef>int
+ <parameter>
+ <optional>length</optional>
+ </parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ <function>fputs</function> � un alias di
+ <function>fwrite</function> del tutto identico. Nota che il parametro
+ <parameter>length</parameter> � opzionale e se non specificato verr� scritta
+ l'intera stringa.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.fread">
+ <refnamediv>
+ <refname>fread</refname>
+ <refpurpose>Legge un file salvaguardando la corrispondenza binaria</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>fread</function></funcdef>
+ <paramdef>int <parameter>fp</parameter></paramdef>
+ <paramdef>int <parameter>length</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ <function>fread</function> legge fino a
+ <parameter>length</parameter> byte dal puntatore al file
+ indicato da <parameter>fp</parameter>. La lettura finisce quando sono stati letti
+ <parameter>length</parameter> byte o � stata raggiunta EOF, qualora giunga
+prima.
+ </simpara>
+ <para>
+ <informalexample>
+ <programlisting role="php">
+// copia il contenuto di un file in una stringa
+$filename = "/usr/local/something.txt";
+$fd = fopen ($filename, "r");
+$contents = fread ($fd, filesize ($filename));
+fclose ($fd);
+ </programlisting>
+ </informalexample>
+ </para>
+ <note>
+ <para>
+ Sui sistemi che differenziano fra file di testo e binari
+ (ad esempio Windows) il file deve essere aperto con il parametro mode di
+ <function>fopen</function> impostato a 'b'.
+ </para>
+ </note>
+ <para>
+ <informalexample>
+ <programlisting role="php">
+$filename = "c:\\files\\somepic.gif";
+$fd = fopen ($filename, "rb");
+$contents = fread ($fd, filesize ($filename));
+fclose ($fd);
+ </programlisting>
+ </informalexample>
+ </para>
+ <simpara>
+ Vedi anche <function>fwrite</function>, <function>fopen</function>,
+ <function>fsockopen</function>, <function>popen</function>,
+ <function>fgets</function>, <function>fgetss</function>,
+ <function>fscanf</function>, <function>file</function>, e
+ <function>fpassthru</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.fscanf">
+ <refnamediv>
+ <refname>fscanf</refname>
+ <refpurpose>Analizza l'input da un file secondo un determinato
+formato</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>mixed <function>fscanf</function></funcdef>
+ <paramdef>int <parameter>handle</parameter></paramdef>
+ <paramdef>string <parameter>format</parameter></paramdef>
+ <paramdef>string
+ <parameter><optional>var1</optional></parameter>...
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ La funzione <function>fscanf</function> � simile a
+ <function>sscanf</function>, ma prende il proprio input da un file associato con
+ <parameter>handle</parameter> e interpreta l'input in accordo con il parametro
+ <parameter>format</parameter>. Se vengono passati solo due parametri
+ a questa funzione, i valori esaminati verranno ritornati in un vettore.
+ Altrimenti, se vengono passati i parametri opzionali, la funzione ritorner�
+ il numero dei valori assegnati. I parametri opzionali
+ devono essere passati da reference.
+ <example>
+ <title><function>fscanf</function> Esempio</title>
+ <programlisting role="php">
+$fp = fopen ("users.txt","r");
+while ($userinfo = fscanf ($fp, "%s\t%s\t%s\n")) {
+ list ($name, $profession, $countrycode) = $userinfo;
+ //... fai quacosa coi valori ...
+}
+fclose($fp);
+ </programlisting>
+ </example>
+ <example>
+ <title>users.txt</title>
+ <programlisting>
+javier argonaut pe
+hiroshi sculptor jp
+robert slacker us
+luigi florist it
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Vedi anche <function>fread</function>, <function>fgets</function>,
+ <function>fgetss</function>, <function>sscanf</function>,
+ <function>printf</function>, e <function>sprintf</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.fseek">
+ <refnamediv>
+ <refname>fseek</refname>
+ <refpurpose>Sposta un puntatore sul file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>fseek</function></funcdef>
+ <paramdef>int <parameter>fp</parameter></paramdef>
+ <paramdef>int <parameter>offset</parameter></paramdef>
+ <paramdef>int
+ <parameter><optional>whence</optional></parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Imposta l'indicatore di posizione del file riferito da
+ <parameter>fp</parameter>. La nuova posizione, misurata in byte
+ dall'inizio del file, viene ottenuta aggiungento
+ <parameter>offset</parameter> alla posizione specificata da
+ <parameter>whence</parameter>, i cui valori sono definiti come segue:
+ <simplelist>
+ <member>SEEK_SET - Imposta la posizione uguale a
+ <parameter>offset</parameter> byte.</member> <member>SEEK_CUR -
+ Imposta la posizione alla attuale pi�
+ <parameter>offset</parameter>.</member> <member>SEEK_END - Imposta la posizione
+ alla fine del file pi� <parameter>offset</parameter>.</member>
+ </simplelist>
+ </para>
+ <para>Se <parameter>whence</parameter> non viene specificato, viene assunto come
+ SEEK_SET.
+ </para>
+ <para>
+ In caso di successo, ritorna 0; altrimenti, ritorna -1. Nota che spostarsi oltr
+ EOF non � considerato un errore.
+ </para>
+ <para>
+ Non pu� essere usato su puntatori a file ritornati da
+ <function>fopen</function> se � in uso il formato "http://" o "ftp://".
+ </para>
+ <note>
+ <para>
+ L'argomento <parameter>whence</parameter> � stato aggiunto dopo PHP 4.0 RC1.
+ </para>
+ </note>
+ <para>
+ Vedi anche <function>ftell</function> e
+ <function>rewind</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.fstat">
+ <refnamediv>
+ <refname>fstat</refname>
+ <refpurpose>
+ Restituisce le informazioni riguardanti un file attraverso un puntatore al file
+aperto
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>array <function>fstat</function></funcdef>
+ <paramdef>int <parameter>fp</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Restituisce le statistiche del file aperto dal puntatore fp.
+ Questa funzione � simile a
+ <function>stat</function> eccetto per il fatto che opera
+ su un puntatore a file aperto invece che su un nome di file.
+ </para>
+ <para>
+ Ritorna un vettore con le statistiche del file con i seguenti elementi:
+ <orderedlist>
+ <listitem><simpara>device</simpara></listitem>
+ <listitem><simpara>inode</simpara></listitem>
+ <listitem><simpara>numero di link</simpara></listitem>
+ <listitem><simpara>user id del proprietario</simpara></listitem>
+ <listitem><simpara>group id del proprietario</simpara></listitem>
+ <listitem><simpara>tipo di device se � presente l'inode device
+*</simpara></listitem>
+ <listitem><simpara>dimensione in byte</simpara></listitem>
+ <listitem><simpara>ora dell'ultimo accesso</simpara></listitem>
+ <listitem><simpara>ora dell'ultima modifica</simpara></listitem>
+ <listitem><simpara>ora del ultimo cambiamento</simpara></listitem>
+ <listitem><simpara>blocksize per l'I/O del filesystem *</simpara></listitem>
+ <listitem><simpara>numero di blocchi allocati</simpara></listitem>
+ </orderedlist>
+ * - valido solo su sistemi che supportano il tipo st_blksize --negli altri
+sistemi
+ (per esempio Windows) ritorna -1</para>
+ <para>
+ I risultati di questa funzione vengono memorizzati nella cache. Vedi
+ <function>clearstatcache</function> per maggiori informazioni.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.ftell">
+ <refnamediv>
+ <refname>ftell</refname>
+ <refpurpose>Comunica la posizione di lettura/scrittura del puntatore al
+file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>ftell</function></funcdef>
+ <paramdef>int <parameter>fp</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ritorna la posizione del puntatore al file indicato da fp; cio�,
+ il suo offset all'interno del flusso del file.
+ </para>
+ <para>
+ Se si verifica un errore, ritorna &false;.
+ </para>
+ <para>
+ Il puntatore al file deve essere valido e deve puntare ad un file
+ aperto correttamente da <function>fopen</function> o da
+ <function>popen</function>.
+ </para>
+ <para>
+ Vedi anche <function>fopen</function>, <function>popen</function>,
+ <function>fseek</function> e <function>rewind</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.ftruncate">
+ <refnamediv>
+ <refname>ftruncate</refname>
+ <refpurpose>
+ Tronca un file alla lunghezza data
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>ftruncate</function></funcdef>
+ <paramdef>int <parameter>fp</parameter></paramdef>
+ <paramdef>int <parameter>size</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Prende il puntatore al file fp, e tronca il file alla lungezza indicata da size.
+ Questa funzione ritorna &true; in caso di successo e &false; altrimenti.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.fwrite">
+ <refnamediv>
+ <refname>fwrite</refname>
+ <refpurpose>Scrive un file salvaguardando la corrispondenza binaria</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>fwrite</function></funcdef>
+ <paramdef>int <parameter>fp</parameter></paramdef>
+ <paramdef>string <parameter>string</parameter></paramdef>
+ <paramdef>int
+ <parameter>
+ <optional>length</optional>
+ </parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ <function>fwrite</function> scrive il contenuto di
+ <parameter>string</parameter> nel flusso del file puntato da
+ <parameter>fp</parameter>. Se l'argomento <parameter>length</parameter>
+ � specificato la scrittura si arrester� dopo aver scritto
+ <parameter>length</parameter> byte o alla fine di
+ <parameter>string</parameter> se si verificasse prima.
+ </simpara>
+ <simpara>
+ Nota che se il parametro <parameter>length</parameter> viene specificato,
+ allora l'opzione di configurazione <link
+ linkend="ini.magic-quotes-runtime">magic_quotes_runtime</link>
+ verr� ignorata e nessuno slash verr� skippato da <parameter>string</parameter>.
+ </simpara>
+ <note>
+ <para>
+ Su sistemi che differenzino fra file binari e di testo
+ (come Windows) il file deve essere aperto includendo 'b' nel paramentro mode di
+ <function>fopen</function>.
+ </para>
+ </note>
+ <simpara>
+ Vedi anche <function>fread</function>, <function>fopen</function>,
+ <function>fsockopen</function>, <function>popen</function>, e
+ <function>fputs</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.set-file-buffer">
+ <refnamediv>
+ <refname>set_file_buffer</refname>
+ <refpurpose>
+ Imposta il buffering del file sul puntatore al file dato
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>set_file_buffer</function></funcdef>
+ <paramdef>int <parameter>fp</parameter></paramdef>
+ <paramdef>int <parameter>buffer</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ L'output di <function>fwrite</function> viene normalmente bufferizzato a
+ 8K. Ci� significa che se ci sono due processi che vogliono scrivere
+ nello stesso flusso di output (un file), ciascuno viene interrotto dopo 8K di
+ dati per permettere all'altro di scrivere. <function>set_file_buffer</function>
+ imposta il buffering per le operazioni di scrittura sul dato puntatore a file
+ <parameter>fp</parameter> a <parameter>buffer</parameter> byte.
+ Se <parameter>buffer</parameter> � 0 allora le operazioni di scrittura non
+vengono
+ bufferizzate. Questo assicura che ogni scrittura di
+ <function>fwrite</function> venga completata prima che sia permesso ad altri
+processi
+ di scrivere in quel flusso di output.
+ </simpara>
+ <simpara>
+ La funzione ritorna 0 quando ha successo, o EOF se la richiesta non pu� essere
+soddisfatta.
+ </simpara>
+ <para>
+ L'esempio seguente mostra come usare
+ <function>set_file_buffer</function> per creare un flusso non bufferizzato.
+ <example>
+ <title><function>set_file_buffer</function> example</title>
+ <programlisting role="php">
+$fp=fopen($file, "w");
+if($fp){
+ set_file_buffer($fp, 0);
+ fputs($fp, $output);
+ fclose($fp);
+}
+ </programlisting>
+ </example>
+ </para>
+
+ <simpara>
+ Vedi anche <function>fopen</function>, <function>fwrite</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.is-dir">
+ <refnamediv>
+ <refname>is_dir</refname>
+ <refpurpose>Dice se la stringa corrisponde ad una directory</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>bool <function>is_dir</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ritorna &true; se il filename esiste ed � una directory.
+ </para>
+ <para>
+ I risultati di questa funzione vengono memorizzati nella cache. Vedi
+ <function>clearstatcache</function> per maggiori informazioni.
+ </para>
+ <simpara>
+ Questa funzione non lavora con i <link
+ linkend="features.remote-files">file remoti</link>; i file da
+ esaminare devono essere accessibili attraverso il filesystem del server.
+ </simpara>
+ <para>
+ Vedi anche <function>is_file</function> e
+ <function>is_link</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.is-executable">
+ <refnamediv>
+ <refname>is_executable</refname>
+ <refpurpose>Dice se il file indicato � eseguibile</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>bool <function>is_executable</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ritorna &true; se il filename esiste ed � un eseguibile.
+ </para>
+ <para>
+ I risultati di questa funzione vengono memorizzati nella cache. Vedi
+ <function>clearstatcache</function> per maggiori informazioni.
+ </para>
+ <simpara>
+ Questa funzione non lavora con i <link
+ linkend="features.remote-files">file remoti</link>; i file da
+ esaminare devono essere accessibili attraverso il filesystem del server.
+ </simpara>
+ <para>
+ Vedi anche <function>is_file</function> and
+ <function>is_link</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.is-file">
+ <refnamediv>
+ <refname>is_file</refname>
+ <refpurpose>
+ Dice se il file � un file regolare
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>bool <function>is_file</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ritorna &true; se il filename esiste ed � un file regolare.
+ </para>
+ <para>
+ I risultati di questa funzione vengono memorizzati nella cache. Vedi
+ <function>clearstatcache</function> per maggiori informazioni.
+ </para>
+ <para>
+ Vedi anche <function>is_dir</function> e
+ <function>is_link</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.is-link">
+ <refnamediv>
+ <refname>is_link</refname>
+ <refpurpose>
+ Dice se il file � un link simbolico
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>bool <function>is_link</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ritorna &true; se il filename esiste ed � un link simbolico.
+ </para>
+ <para>
+ I risultati di questa funzione vengono memorizzati nella cache. Vedi
+ <function>clearstatcache</function> per maggiori informazioni.
+ </para>
+ <para>
+ Vedi anche <function>is_dir</function> and
+ <function>is_file</function>.
+ </para>
+ <simpara>
+ Questa funzione non lavora con i <link
+ linkend="features.remote-files">file remoti</link>; i file da
+ esaminare devono essere accessibili attraverso il filesystem del server.
+ </simpara>
+ <note>
+ <simpara>
+ Questa funzione non gira sui sistemi Windows
+ </simpara>
+ </note>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.is-readable">
+ <refnamediv>
+ <refname>is_readable</refname>
+ <refpurpose>
+ Dice se un file � leggibile
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>bool <function>is_readable</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ritorna &true; se filename esiste ed � leggibile.
+ </para>
+ <para>
+ Ricorda che PHP pu� accedere al file come l'utente che � rappresentato dal
+ server (spesso 'nobody'). Non sono prese in conto limitazione di sicurezza.
+ </para>
+ <para>
+ I risultati di questa funzione vengono memorizzati nella cache. Vedi
+ <function>clearstatcache</function> per maggiori informazioni.
+ </para>
+ <simpara>
+ Questa funzione non lavora con i <link
+ linkend="features.remote-files">file remoti</link>; i file da
+ esaminare devono essere accessibili attraverso il filesystem del server.
+ </simpara>
+ <para>
+ Vedi anche <function>is_writable</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.is-writable">
+ <refnamediv>
+ <refname>is_writable</refname>
+ <refpurpose>Dice se un file � scrivibile</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>bool <function>is_writable</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ritorna &true; se filename esiste ed � scrivibile. L'argomento
+ filename pu� essere un nome di directory che ti permetta di verificare se una
+ directory � scrivibile.
+ </para>
+ <para>
+ Tieni presente che PHP pu� accedere al file con lo user id
+ del web server (spesso 'nobody'). Non sono prese in considerazioni limitazioni
+di sicurezza.
+ </para>
+ <para>
+ I risultati di questa funzione vengono memorizzati nella cache. Vedi
+ <function>clearstatcache</function> per maggiori informazioni.
+ </para>
+ <simpara>
+ Questa funzione non lavora con i <link
+ linkend="features.remote-files">file remoti</link>; i file da
+ esaminare devono essere accessibili attraverso il filesystem del server.
+ </simpara>
+ <para>
+ Vedi anche <function>is_readable</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.is-writeable">
+ <refnamediv>
+ <refname>is_writeable</refname>
+ <refpurpose>Dice se un file � scrivibile</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>bool <function>is_writeable</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Questo � un alias per <function>is_writable</function>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.is-uploaded-file">
+ <refnamediv>
+ <refname>is_uploaded_file</refname>
+ <refpurpose>Dice se un file f� caricato via HTTP POST.</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>bool <function>is_uploaded_file</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+
+ <para>
+ Questa funzione � disponibile solo nelle versioni di PHP 3 successive al PHP
+ 3.0.16, e nelle versioni di PHP 4 dopo la 4.0.2.
+ </para>
+
+ <para>
+ Ritorna &true; se li file chiamato <varname>filename</varname> � statp caricato
+ attraverso l'HTTP POST. Ci� � utile per assicurare che un utente mal intenzionato
+ non abbia provato a forzare lo script a lavorare su file non consentiti
+ --per esempio,
+ <filename>/etc/passwd</filename>.
+ </para>
+
+ <para>
+ Questo tipo di verifica � particolarmente importante se c'� qualche possibilit�
+ che qualsiasi azione con file caricati possa rivelare il loro contenuto
+all'utente,
+ o anche a altri utenti dello stesso sistema.
+ </para>
+
+ <para>
+ Vedi anche <function>move_uploaded_file</function> e la sessione
+ <link linkend="features.file-upload">Handling file uploads</link>
+ per un semplice esempio.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.link">
+ <refnamediv>
+ <refname>link</refname>
+ <refpurpose>Crea un hard link</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>link</function></funcdef>
+ <paramdef>string <parameter>target</parameter></paramdef>
+ <paramdef>string <parameter>link</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ <function>link</function> crea un hard link.</para>
+ <para>
+ Vedi anche <function>symlink</function> per creare soft link,
+ e <function>readlink</function> assieme a
+ <function>linkinfo</function>.
+ </para>
+ <note>
+ <simpara>
+ Questa funzione non gira sui sistemi Windows
+ </simpara>
+ </note>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.linkinfo">
+ <refnamediv>
+ <refname>linkinfo</refname>
+ <refpurpose>Restituisce informazioni su un collegamento</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>linkinfo</function></funcdef>
+ <paramdef>string <parameter>path</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ <function>linkinfo</function> ritorna il campo st_dev della struttura stat
+ dello UNIX C ritornata dalla chiamata di sistema lstat. Questa funzione �
+usata
+ per verificare se un link (puntato da
+ <parameter>path</parameter>) esiste davvero (usando lo stesso metodo della macro
+ S_ISLNK definita in stat.h). Ritorna 0 o &false; in caso di errore.
+ </para>
+ <para>
+ Vedi anche <function>symlink</function>, <function>link</function>
+ e <function>readlink</function>.
+ </para>
+ <note>
+ <simpara>
+ Questa funzione non gira sui sistemi Windows
+ </simpara>
+ </note>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.mkdir">
+ <refnamediv>
+ <refname>mkdir</refname>
+ <refpurpose>Crea una directory</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>mkdir</function></funcdef>
+ <paramdef>string <parameter>pathname</parameter></paramdef>
+ <paramdef>int <parameter>mode</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Tenta di creare la directory specificata da pathname.
+ </para>
+ <para>
+ Nota che probabilmente vuoi specificare mode come un ottale, per cui deve
+ iniziare con uno zero.
+ La modalit� � anche modificata dall'umask corrente, che
+ puoi cambiare con <function>umask</function>.
+ <informalexample>
+ <programlisting role="php">
+mkdir ("/path/to/my/dir", 0700);
+ </programlisting>
+ </informalexample>
+ </para>
+ <para>
+ Ritorna &true; se ha successo e &false; se fallisce.
+ </para>
+ <para>
+ Vedi anche <function>rmdir</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.move-uploaded-file">
+ <refnamediv>
+ <refname>move_uploaded_file</refname>
+ <refpurpose>Muove un file caricato in una nuova posizione</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>bool <function>move_uploaded_file</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ <paramdef>string <parameter>destination</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+
+ <para>
+ Questa funzione � disponibile solo nelle versioni di PHP 3 successive al
+ PHP 3.0.16 e nelle versioni di PHP 4 dopo la 4.0.2.
+ </para>
+
+ <para>
+ Questa funzione verifica che il file indicato da
+ <parameter>filename</parameter> � un file validamente caricato (nel senso
+ che � stato caricato attraverso il meccanismo di caricamento HTTP POST di PHP).
+ Se il file � valido, verr� spostato nel file dato da
+ <parameter>destination</parameter>.
+ </para>
+
+ <para>
+ Se <parameter>filename</parameter> non � un file validamente caricato,
+ allora non verr� compiuta alcuna azione e
+ <function>move_uploaded_file</function> ritorner�
+ &false;.
+ </para>
+
+ <para>
+ Se <parameter>filename</parameter> � un file validamente caricato, ma
+ non pu� essere mossi per qualche ragione, non verr� compiuto alcunch� e
+ <function>move_uploaded_file</function> ritorner�
+ &false;. In pi� verr� visualizzato un avviso di pericolo.
+ </para>
+
+ <para>
+ Questo tipo di verifica � particolarmente importante se sussiste la possibilit�
+ che qualcosa fatto con i file caricati possa rivelare il loro contenuto agli
+utenti
+ o ad altri utenti dello stesso sistema.
+ </para>
+
+ ¬e.sm.uidcheck;
+
+ <para>
+ Vedi anche <function>is_uploaded_file</function> e la sessione
+ <link linkend="features.file-upload">Handling file uploads</link>
+ per un semplice esempio.
+ </para>
+ </refsect1>
+ </refentry>
+
+
+ <refentry id="function.pathinfo">
+ <refnamediv>
+ <refname>pathinfo</refname>
+ <refpurpose>Ritorna informazioni su un percorso di file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>array <function>pathinfo</function></funcdef>
+ <paramdef>string <parameter>path</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ <function>pathinfo</function> ritorna un vettore associativo contenente
+ informazioni riguardo <parameter>path</parameter>. Nel vettore vegono
+riportati i seguenti
+ elementi:
+ <parameter>dirname</parameter>, <parameter>basename</parameter>
+ e <parameter>extension</parameter>.
+ </para>
+ <para>
+ <example>
+ <title><function>pathinfo</function> Example</title>
+ <programlisting role="php">
+<?php
+
+$path_parts = pathinfo("/www/htdocs/index.html");
+
+echo $path_parts["dirname"] . "\n";
+echo $path_parts["basename"] . "\n";
+echo $path_parts["extension"] . "\n";
+
+?>
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ produrra:
+ <informalexample>
+ <programlisting>
+/www/htdocs
+index.html
+html
+ </programlisting>
+ </informalexample>
+ </para>
+ <para>
+ Vedi anche <function>dirname</function>,
+ <function>basename</function> e <function>realpath</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+
+ <refentry id="function.pclose">
+ <refnamediv>
+ <refname>pclose</refname>
+ <refpurpose>Chiude un puntatore ad un file di processo</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>pclose</function></funcdef>
+ <paramdef>int <parameter>fp</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Chiude un puntatore ad una pipe aperto da
+ <function>popen</function>.
+ </para>
+ <para>
+ Il puntatore deve essere valido e deve essere stato ritornato da un
+ chiamata a <function>popen</function> terminata con successo.
+ </para>
+ <para>
+ Ritorna lo stato di terminazione del processo che stava girando.
+ </para>
+ <para>
+ Vedi anche <function>popen</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.popen">
+ <refnamediv>
+ <refname>popen</refname>
+ <refpurpose>Apre un puntatore ad un file di processo</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>popen</function></funcdef>
+ <paramdef>string <parameter>command</parameter></paramdef>
+ <paramdef>string <parameter>mode</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Apre una pipe ad un processo eseguito forzando il comando dato da command.
+ </para>
+ <para>
+ Ritorna un puntatore a file identico a quello ritornato da
+ <function>fopen</function>, eccetto che per il fatto che � unidirezionale (pu�
+ solo essere usato per la lettura o la scrittura) e deve essere chiudo con
+ <function>pclose</function>. Questo puntatore pu� essere usato con
+ <function>fgets</function>, <function>fgetss</function> e
+ <function>fputs</function>.
+ </para>
+ <para>
+ Se si verifica un errore, ritorna &false;.
+ </para>
+ <para>
+ <informalexample>
+ <programlisting role="php">
+$fp = popen ("/bin/ls", "r");
+ </programlisting>
+ </informalexample>
+ </para>
+ <para>
+ Vedi anche <function>pclose</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.readfile">
+ <refnamediv>
+ <refname>readfile</refname>
+ <refpurpose>Invia un file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>readfile</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ <paramdef>int
+ <parameter>
+ <optional>use_include_path</optional>
+ </parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Legge un file e lo scrive nello standard output.
+ </para>
+ <para>
+ Ritorna il numero di byte letti dal file. Se si verifica un errore
+ viene ritornato &false; e se la funzione non � stata chiamata come
+ @readfile, un messaggio d'errore verra stampato.
+ </para>
+ <para>
+ Se <parameter>filename</parameter> inzia con "http://"
+ (case insensitive), viene aperta una connessione HTTP 1.0 al server
+ specificato e il testo della risposta viene scritto nello stadard output.
+ </para>
+ <para>
+ Versioni precedenti al PHP 4.0.5 non considera le redirezioni HTTP.
+ Perci�, le directory devono includere gli slash finali.
+ </para>
+ <para>
+ Se <parameter>filename</parameter> inizia con "ftp://"
+ (case insensitive), viene aperta una connessione ftp al server specificato
+ e il file richiesto viene stampato sullo standard output. Se il server
+ non supporta l'ftp passivo, questa funzione fallir�.
+ </para>
+ <para>
+ Se <parameter>filename</parameter> non inizia con tali stringhe,
+ il file verr� apperto dal filesystem e il suo contenuto verr� scritto nello
+standard output.
+ </para>
+ <para>
+ Puoi settare il secondo parametro opzionale ad "1", se
+ vuoi anche cercare il file nella <link
+ linkend="ini.include-path">include_path</link>.
+ </para>
+ <para>
+ Vedi anche <function>fpassthru</function>,
+ <function>file</function>, <function>fopen</function>,
+ <function>include</function>, <function>require</function>, e
+ <function>virtual</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.readlink">
+ <refnamediv>
+ <refname>readlink</refname>
+ <refpurpose>Ritorna il bersaglio di un link simbolico</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>readlink</function></funcdef>
+ <paramdef>string <parameter>path</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ <function>readlink</function> si comporta analogamente alla funzione readlink
+ di C e ritorna i conenuti del link simbolico path o 0 in caso d'errore.
+ </para>
+ <para>
+ Vedi anche <function>symlink</function>,
+ <function>readlink</function> e
+ <function>linkinfo</function>.
+ </para>
+ <note>
+ <simpara>
+ Questa funzione non gira sui sistemi Windows
+ </simpara>
+ </note>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.rename">
+ <refnamediv>
+ <refname>rename</refname>
+ <refpurpose>Rinomina un file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>rename</function></funcdef>
+ <paramdef>string <parameter>oldname</parameter></paramdef>
+ <paramdef>string <parameter>newname</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Tenta di rinominare <parameter>oldname</parameter> in
+ <parameter>newname</parameter>.
+ </para>
+ <para>
+ Ritorna &true; se ha successo e &false; se fallisce.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.rewind">
+ <refnamediv>
+ <refname>rewind</refname>
+ <refpurpose>Riavvolge la posizione di un puntatore a file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>rewind</function></funcdef>
+ <paramdef>int <parameter>fp</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Pone l'indicatore alla posizione del file per fp all'inizio del flusso del
+file.</para>
+ <para> Se si verifica un errore, returns 0.</para>
+ <para> Il puntatore al file deve essere valido e deve puntare ad un file
+ aperto con successo da <function>fopen</function>.
+ </para>
+ <para>
+ Vedi anche <function>fseek</function> e
+ <function>ftell</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+
+ <refentry id="function.rmdir">
+ <refnamediv>
+ <refname>rmdir</refname>
+ <refpurpose>Rimuove una directory</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>rmdir</function></funcdef>
+ <paramdef>string <parameter>dirname</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ tenta di cancellare la directory indiata da pathname. La directory
+ deve essere vuota e i permessi concessi devono permetterlo.
+ </para>
+ <para>
+ Se si verifica un errore, ritorna 0.
+ </para>
+ <para>
+ Vedi anche <function>mkdir</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.stat">
+ <refnamediv>
+ <refname>stat</refname>
+ <refpurpose>Da informazioni su un file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>array <function>stat</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Restituisce una serie di informazioni a riguardo del file filename.
+ </para>
+ <para>
+ Ritorna un vettore con le statistiche del file con i seguenti elementi:
+ <orderedlist>
+ <listitem><simpara>device</simpara></listitem>
+ <listitem><simpara>inode</simpara></listitem>
+ <listitem><simpara>modalit� di protezione dell'inode</simpara></listitem>
+ <listitem><simpara>numero di link</simpara></listitem>
+ <listitem><simpara>ID utente del proprietario</simpara></listitem>
+ <listitem><simpara>ID del gruppo del proprietario</simpara></listitem>
+ <listitem><simpara>tipo di device con l'inode device *</simpara></listitem>
+ <listitem><simpara>dimensione in byte</simpara></listitem>
+ <listitem><simpara>ora dell'ultimo aggesso</simpara></listitem>
+ <listitem><simpara>ora del'ultima modifica</simpara></listitem>
+ <listitem><simpara>ora dell'ultimo cambiamento</simpara></listitem>
+ <listitem><simpara>dimensione del blocco per l'I/O di filesystem
+*</simpara></listitem>
+ <listitem><simpara>numero dei blocchi allocati</simpara></listitem>
+ </orderedlist>
+ * - valida solo su sistemi che supportano il tipo st_blksize--altri sistemi
+ (ad esempio Windows) ritornano -1.
+ </para>
+ <para>
+ Ritorna &false; in caso d'errore.
+ </para>
+ <para>
+ <function>stat</function> non si elabora gli URL come fa
+<function>fopen</function>.
+ </para>
+ <para>
+ I risultati di questa funzione vengono memorizzati nella cache. Vedi
+ <function>clearstatcache</function> per maggiori informazioni.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.lstat">
+ <refnamediv>
+ <refname>lstat</refname>
+ <refpurpose>
+ Da informazioni su un file o un link simbolico
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>array <function>lstat</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Raccoglie le statistiche del file o del link simbolico chiamato
+ filename. Questa funzione � identica alla funzione
+ <function>stat</function> eccetto che se il paramametro
+ <parameter>filename</parameter> � un link simbolico valido,
+ viene ritornato lo stato del link simbolico, non lo stato del file puntato
+ dal link simbolico.
+ </para>
+ <para>
+ Ritorna un vettore con le statistiche del file con i seguenti elementi:
+ <orderedlist>
+ <listitem><simpara>device</simpara></listitem>
+ <listitem><simpara>inode</simpara></listitem>
+ <listitem><simpara>modalit� di protezione dell'inode</simpara></listitem>
+ <listitem><simpara>numero di link</simpara></listitem>
+ <listitem><simpara>ID utente del proprietario</simpara></listitem>
+ <listitem><simpara>ID del gruppo del proprietario</simpara></listitem>
+ <listitem><simpara>tipo di device con l'inode device *</simpara></listitem>
+ <listitem><simpara>dimensione in byte</simpara></listitem>
+ <listitem><simpara>ora dell'ultimo aggesso</simpara></listitem>
+ <listitem><simpara>ora del'ultima modifica</simpara></listitem>
+ <listitem><simpara>ora dell'ultimo cambiamento</simpara></listitem>
+ <listitem><simpara>dimensione del blocco per l'I/O di filesystem
+*</simpara></listitem>
+ <listitem><simpara>numero dei blocchi allocati</simpara></listitem>
+ </orderedlist>
+ * - valida solo su sistemi che supportano il tipo st_blksize--altri sistemi
+ (ad esempio Windows) ritornano -1.
+ <para>
+ I risultati di questa funzione vengono memorizzati nella cache. Vedi
+ <function>clearstatcache</function> per maggiori informazioni.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.realpath">
+ <refnamediv>
+ <refname>realpath</refname>
+ <refpurpose>Ritorna un percorso assoluto regolare</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>realpath</function></funcdef>
+ <paramdef>string <parameter>path</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ <function>realpath</function> espande tutti i link simbolici e risolve i
+ riferimenti a '/./', '/../' ed altri caratteri '/' nell'input
+ <parameter>path</parameter> e ritorna il percorso assoluto canonizzato.
+ Il percorso risultante non avr� link simbolici,
+ '/./' o '/../'.
+ </para>
+ <para>
+ <example>
+ <title><function>realpath</function> example</title>
+ <programlisting role="php">
+$real_path = realpath ("../../index.php");
+ </programlisting>
+ </example>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.symlink">
+ <refnamediv>
+ <refname>symlink</refname>
+ <refpurpose>Crea un link simbolico</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>symlink</function></funcdef>
+ <paramdef>string <parameter>target</parameter></paramdef>
+ <paramdef>string <parameter>link</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ <function>symlink</function> crea un link simbolico
+ dal <parameter>target</parameter> esistente con
+ il nome specificato da <parameter>link</parameter>.
+ </para>
+ <para>
+ Vedi anche <function>link</function> per creare hard link,
+ e <function>readlink</function> con
+ <function>linkinfo</function>.
+ </para>
+ <note>
+ <simpara>
+ Questa funzione non gira sui sistemi Windows.
+ </simpara>
+ </note>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.tempnam">
+ <refnamediv>
+ <refname>tempnam</refname>
+ <refpurpose>Crea un nome di file unico</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>tempnam</function></funcdef>
+ <paramdef>string <parameter>dir</parameter></paramdef>
+ <paramdef>string <parameter>prefix</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Crea un nome di file temporaneo univoco nella directory specificata.
+ Se la directory non esiste, <function>tempnam</function> pu�
+ generare il nome file nella directory temporanea del sistema.
+ </para>
+ <para>
+ Prima di PHP 4.0.6, il comportamento della funzione
+ <function>tempnam</function> dipendeva dal sistema. Su
+ Windows la variabile d'ambiente TMP scavalcher� il parametro
+ <parameter>dir</parameter>, su Linux la variabile d'ambiente TMPDIR
+ ha la precedenza, mentre SVR4 user� sempre
+ il tuo parametro <parameter>dir</parameter> se la directory cui punta esiste.
+ Consulta la documentazione del tuo sistema sulla funzione
+ tempnam(3) se non sei sicuro.
+ </para>
+ <para>
+ Ritorna il nuovo filename temporaneo, o la stringa &null; se fallisce.
+ <example>
+ <title><function>tempnam</function> example</title>
+ <programlisting role="php">
+$tmpfname = tempnam ("/tmp", "FOO");
+ </programlisting>
+ </example>
+ </para>
+ <note>
+ <simpara>
+ Il comportamento di questa funzione � cambiata in 4.0.3.
+ Il file temporaneo � anche creato per evitare una condizione di rincorsa
+ dove il file pu� apparire nel filesystem fra il momento che la stringa
+ viene generato e prima che lo script si occupi di crearlo.
+ </simpara>
+ </note>
+ <para>
+ Vedi anche <function>tmpfile</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.tmpfile">
+ <refnamediv>
+ <refname>tmpfile</refname>
+ <refpurpose>Crea un file temporaneo</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>tmpfile</function></funcdef>
+ <void/>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Crea un file temporaneo con un nome univoco il modalit� di scrittura,
+ ritornando un riferimento al file simile a quello tornato da
+ <function>fopen</function>.
+ Il file viene automaticamente cancellato una volta chiuso (usando
+ <function>fclose</function>), o quando lo script termina.
+ </para>
+ <para>
+ Per dettagli, consulta la documentazione del tuo sistema sulla funzione
+ <literal>tmpfile(3)</literal>, cos� come il file haeader
+ <filename>stdio.h</filename>.
+ </para>
+ <para>
+ Vedi anche <function>tempnam</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+
+ <refentry id="function.touch">
+ <refnamediv>
+ <refname>touch</refname>
+ <refpurpose>Imposta l'ora di modifica di un file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>touch</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ <paramdef>int
+ <parameter>
+ <optional>time</optional>
+ </parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Tenta di impostare l'ora di modifica del file indicato da filename
+ al valore dato da time. Se non viene passata l'opzione time
+ usa l'ora attuale.
+ </para>
+ <para>
+ Se il file non esiste, viene creato.
+ </para>
+ <para>
+ Ritorna &true; se ha successo; &false; altrimenti.
+ <example>
+ <title><function>touch</function> example</title>
+ <programlisting role="php">
+if (touch ($FileName)) {
+ print "$FileName modification time has been
+ changed to todays date and time";
+} else {
+ print "Sorry Could Not change modification time of $FileName";
+}
+ </programlisting>
+ </example>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.umask">
+ <refnamediv>
+ <refname>umask</refname>
+ <refpurpose>Cambia l'umask corrente</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>umask</function></funcdef>
+ <paramdef>int <parameter>mask</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ <function>umask</function> imposta l'umask di PHP a & 0777 e
+ ritorna il vecchio umask. Quando PHP � utilizzato come modulo server,
+ l'umask viene ripristinato quando ciascuna richiesta � finita.
+ </para>
+ <para>
+ <function>umask</function> senza argomenti ritorna semplicemente
+ l'umask corrente.
+ </para>
+ <note>
+ <simpara>
+ Questa funzione non pu� girare su sistemi Windows.
+ </simpara>
+ </note>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.unlink">
+ <refnamediv>
+ <refname>unlink</refname>
+ <refpurpose>Cancella un file</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>unlink</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Cancella <parameter>filename</parameter>. Simile alla funzione C di Unix
+ unlink().
+ </para>
+ <para>
+ Ritorna 0 o &false; in caso d'errore.
+ </para>
+ <para>
+ Vedi anche <function>rmdir</function> per eliminare directory.
+ </para>
+ <note>
+ <simpara>
+ Questa funzione non gira sui sistemi Windows.
+ </simpara>
+ </note>
+ </refsect1>
+ </refentry>
+
+ </reference>
+
+<!-- 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
+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
+-->