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 +-->