cortesi Tue Mar 26 05:31:56 2002 EDT Modified files: /phpdoc/it/functions exec.xml Log: WS
Index: phpdoc/it/functions/exec.xml diff -u phpdoc/it/functions/exec.xml:1.11 phpdoc/it/functions/exec.xml:1.12 --- phpdoc/it/functions/exec.xml:1.11 Sat Feb 2 10:41:54 2002 +++ phpdoc/it/functions/exec.xml Tue Mar 26 05:31:55 2002 @@ -1,105 +1,105 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- EN-Revision: 1.24 Maintainer: giacomo Status: ready --> - <reference id="ref.exec"> - <title>Funzioni per l'esecuzione di programmi</title> - <titleabbrev>Esecuzione di programmi</titleabbrev> - - <partintro> - <simpara> - Queste funzioni permettono l'esecuzione di comandi sul sistema stesso, - e rendono sicuri tali comandi. Queste funzioni sono anche strettamente - correlate al - <link linkend="language.operators.execution">operatore backtick</link>. - </simpara> - </partintro> - - <refentry id="function.escapeshellarg"> - <refnamediv> - <refname>escapeshellarg</refname> - <refpurpose>estrae una stringa da usare come un argomento della shell</refpurpose> - </refnamediv> - <refsect1> - <title>Descrizione</title> +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- EN-Revision: 1.24 Maintainer: giacomo Status: ready --> + <reference id="ref.exec"> + <title>Funzioni per l'esecuzione di programmi</title> + <titleabbrev>Esecuzione di programmi</titleabbrev> + + <partintro> + <simpara> + Queste funzioni permettono l'esecuzione di comandi sul sistema stesso, + e rendono sicuri tali comandi. Queste funzioni sono anche strettamente + correlate al + <link linkend="language.operators.execution">operatore backtick</link>. + </simpara> + </partintro> + + <refentry id="function.escapeshellarg"> + <refnamediv> + <refname>escapeshellarg</refname> + <refpurpose>estrae una stringa da usare come un argomento della shell</refpurpose> + </refnamediv> + <refsect1> + <title>Descrizione</title> <methodsynopsis> <type>string</type><methodname>escapeshellarg</methodname> <methodparam><type>string</type><parameter>arg</parameter></methodparam> </methodsynopsis> - <para> - <function>escapeshellarg</function> aggiunge le virgolette singole - attorno ad una stringa ed elude ogni virgoletta semplice per permetterti di - passare una stringa direttamente ad una funzione della shell a che questa - venga trattata come un singolo argomento. - Questa funzione dovrebbe essere usata per eludere argomenti individuali per funzioni - della shell che giungano dall'input del utente. Le funzioni della shell includono - <function>exec</function>, <function>system</function> e - <link linkend="language.operators.execution">l'operatore backtick</link>. - Un utilizzo standard sarebbe:</para> - <para> - <informalexample> - <programlisting role="php"> -<![CDATA[ -system("ls ".escapeshellarg($dir)); -]]> - </programlisting> - </informalexample> - </para> - <para> - Vedi anche <function>exec</function>, <function>popen</function>, - <function>system</function> e <link - linkend="language.operators.execution">l'operatore backtick</link>. - </para> - - </refsect1> - </refentry> - - <refentry id="function.escapeshellcmd"> - <refnamediv> - <refname>escapeshellcmd</refname> - <refpurpose>elude i metacaratteri della shell</refpurpose> - </refnamediv> - <refsect1> - <title>Descrizione</title> + <para> + <function>escapeshellarg</function> aggiunge le virgolette singole + attorno ad una stringa ed elude ogni virgoletta semplice per permetterti di + passare una stringa direttamente ad una funzione della shell a che questa + venga trattata come un singolo argomento. + Questa funzione dovrebbe essere usata per eludere argomenti individuali per +funzioni + della shell che giungano dall'input del utente. Le funzioni della shell +includono + <function>exec</function>, <function>system</function> e + <link linkend="language.operators.execution">l'operatore backtick</link>. + Un utilizzo standard sarebbe:</para> + <para> + <informalexample> + <programlisting role="php"> +<![CDATA[ +system("ls ".escapeshellarg($dir)); +]]> + </programlisting> + </informalexample> + </para> + <para> + Vedi anche <function>exec</function>, <function>popen</function>, + <function>system</function> e <link + linkend="language.operators.execution">l'operatore backtick</link>. + </para> + + </refsect1> + </refentry> + + <refentry id="function.escapeshellcmd"> + <refnamediv> + <refname>escapeshellcmd</refname> + <refpurpose>elude i metacaratteri della shell</refpurpose> + </refnamediv> + <refsect1> + <title>Descrizione</title> <methodsynopsis> <type>string</type><methodname>escapeshellcmd</methodname> <methodparam><type>string</type><parameter>command</parameter></methodparam> </methodsynopsis> - <para> - <function>escapeshellcmd</function> elude ogni carattere di una stringa che - potrebbe essere usata per indurre un comando shell ad eseguire comandi - arbitrari. Questa funzione dovrebbe essere usata per assicurarsi che ogni dato - che giunga dall'input dell utente venga nutralizzato prima prima di venir passato - a funzioni come <function>exec</function> o - <function>system</function>, o al <link - linkend="language.operators.execution">operatore backtick - </link>. Un modello d'utilizzo potrebbe essere:</para> - <para> - <informalexample> - <programlisting role="php"> -<![CDATA[ -$e = escapeshellcmd($userinput); -system("echo $e"); // qui non ci preoccupiamo se $e contenga spazi -$f = escapeshellcmd($filename); -system("touch \"/tmp/$f\"; ls -l \"/tmp/$f\""); // e qui invece lo facciamo, usando le virgolette -]]> - </programlisting> - </informalexample> - </para> - <para> - Vedi anche <function>escapeshellarg</function>, <function>exec</function>, - <function>popen</function>, <function>system</function> e <link - linkend="language.operators.execution">l'operatore backtick</link>. - </para> - - </refsect1> - </refentry> - - <refentry id="function.exec"> - <refnamediv> - <refname>exec</refname> - <refpurpose>Esegue un programma esterno</refpurpose> - </refnamediv> - <refsect1> - <title>Descrizione</title> + <para> + <function>escapeshellcmd</function> elude ogni carattere di una stringa che + potrebbe essere usata per indurre un comando shell ad eseguire comandi + arbitrari. Questa funzione dovrebbe essere usata per assicurarsi che ogni dato + che giunga dall'input dell utente venga nutralizzato prima prima di venir +passato + a funzioni come <function>exec</function> o + <function>system</function>, o al <link + linkend="language.operators.execution">operatore backtick + </link>. Un modello d'utilizzo potrebbe essere:</para> + <para> + <informalexample> + <programlisting role="php"> +<![CDATA[ +$e = escapeshellcmd($userinput); +system("echo $e"); // qui non ci preoccupiamo se $e contenga spazi +$f = escapeshellcmd($filename); +system("touch \"/tmp/$f\"; ls -l \"/tmp/$f\""); // e qui invece lo facciamo, usando +le virgolette +]]> + </programlisting> + </informalexample> + </para> + <para> + Vedi anche <function>escapeshellarg</function>, <function>exec</function>, + <function>popen</function>, <function>system</function> e <link + linkend="language.operators.execution">l'operatore backtick</link>. + </para> + + </refsect1> + </refentry> + + <refentry id="function.exec"> + <refnamediv> + <refname>exec</refname> + <refpurpose>Esegue un programma esterno</refpurpose> + </refnamediv> + <refsect1> + <title>Descrizione</title> <methodsynopsis> <type>string</type><methodname>exec</methodname> <methodparam><type>string</type><parameter>command</parameter></methodparam> @@ -107,180 +107,180 @@ </parameter></methodparam> <methodparam choice="opt"><type>int</type><parameter>return_var</parameter></methodparam> </methodsynopsis> - <para> - <function>exec</function> esegue il comando passato da - <parameter>command</parameter>, sebbene esso non invii nulla in output - Restituisce semplicemente l'ultima linea dal risultato del comando. - Se hai bisogno di eseguire un comando ed avere tutti i dati dal comando passato - direttamente senza alcuna interferenza, usa la funzione <function>passthru</function>. - </para> - <para> - Se l'argomento <parameter>array</parameter> è presente, allora tale vettore specificato - verrà riempito con ogni linea del output del comando. - Nota che se il vettore contiene già degli elementi, - <function>exec</function> li aggiungerà in coda vettore. - Se non vuoi che la funzione aggiunga elementi, esegui un - <function>unset</function> sul vettore prima di passarlo ad - <function>exec</function>. - </para> - <para> - Se viene passato l'argomento <parameter>return_var</parameter> - assieme all'argomento <parameter>array</parameter>, allora lo stato - del comando eseguito verra scitto in questa variabile. - </para> - <para> - Osserva che se intendi allocare dati che giungano dal utente - per essere passate a questa funzione, dovresti usare - <function>escapeshellcmd</function> per assicurarti che l'utente - non possa forzare il sistema ad eseguire comandi arbitrari. - </para> - <para> - Nota anche che se inizi un programma usando questa funzione e lo vuoi lasciare - in esecuzione in sottofondo, devi assicurarti che l'output del programa venga rediretto - ad un file o a qualche altro flusso di output, altrimenti PHP attendera fino alla fine - fine dell'esecuzione del programma. - </para> - <para> - Vedi anche <function>system</function>, - <function>passthru</function>, <function>popen</function>, - <function>escapeshellcmd</function> e <link - linkend="language.operators.execution">l'operatore backtick</link>. - </para> - </refsect1> - </refentry> - - <refentry id="function.passthru"> - <refnamediv> - <refname>passthru</refname> - <refpurpose> - Esegue un programma esterno e mostra l'output non elaborato - </refpurpose> - </refnamediv> - <refsect1> - <title>Descrizione</title> + <para> + <function>exec</function> esegue il comando passato da + <parameter>command</parameter>, sebbene esso non invii nulla in output + Restituisce semplicemente l'ultima linea dal risultato del comando. + Se hai bisogno di eseguire un comando ed avere tutti i dati dal comando +passato + direttamente senza alcuna interferenza, usa la funzione +<function>passthru</function>. + </para> + <para> + Se l'argomento <parameter>array</parameter> è presente, allora tale vettore +specificato + verrà riempito con ogni linea del output del comando. + Nota che se il vettore contiene già degli elementi, + <function>exec</function> li aggiungerà in coda vettore. + Se non vuoi che la funzione aggiunga elementi, esegui un + <function>unset</function> sul vettore prima di passarlo ad + <function>exec</function>. + </para> + <para> + Se viene passato l'argomento <parameter>return_var</parameter> + assieme all'argomento <parameter>array</parameter>, allora lo stato + del comando eseguito verra scitto in questa variabile. + </para> + <para> + Osserva che se intendi allocare dati che giungano dal utente + per essere passate a questa funzione, dovresti usare + <function>escapeshellcmd</function> per assicurarti che l'utente + non possa forzare il sistema ad eseguire comandi arbitrari. + </para> + <para> + Nota anche che se inizi un programma usando questa funzione e lo vuoi lasciare + in esecuzione in sottofondo, devi assicurarti che l'output del programa venga +rediretto + ad un file o a qualche altro flusso di output, altrimenti PHP attendera fino +alla fine + fine dell'esecuzione del programma. + </para> + <para> + Vedi anche <function>system</function>, + <function>passthru</function>, <function>popen</function>, + <function>escapeshellcmd</function> e <link + linkend="language.operators.execution">l'operatore backtick</link>. + </para> + </refsect1> + </refentry> + + <refentry id="function.passthru"> + <refnamediv> + <refname>passthru</refname> + <refpurpose> + Esegue un programma esterno e mostra l'output non elaborato + </refpurpose> + </refnamediv> + <refsect1> + <title>Descrizione</title> <methodsynopsis> <type>void</type><methodname>passthru</methodname> <methodparam><type>string</type><parameter>command</parameter></methodparam> <methodparam choice="opt"><type>int</type><parameter>return_var</parameter></methodparam> </methodsynopsis> - <para> - La funzione <function>passthru</function> è simile alla funzione - <function>exec</function> inquanto esegue - <parameter>command</parameter>. Se il parametro - <parameter>return_var</parameter> è specificato, lo stato ritornato dal comando - Unix verrà posto lì. Questa funzione deve essere usata al posto di <function>exec</function> - o di <function>system</function> quando l'output del comando Unix consiste - in dati binari da passare direttamente al browser. - Un suo uso frequente consiste nel eseguire, ad esempio, le utility - pbmplus che possono restituire un flusso diretto all'immagine. - Impostado il tipo di contenuto a <emphasis>image/gif</emphasis> e successivamente - chiamando un programma pbmplus per generare una gif puoi realizzare uno script - PHP che genera direttamente immagini.</para> - <para> - Nota che se avvii un programma usando questa funzione e intendi lasciarlo - girare in sottofondo, devi accertarti che l'output del programma sia rediretto - in un file o a qualche altro flusso di output o PHP attenderà fino alla - fine dell'esecuzione del programma. - </para> - <para> - Vedi anche <function>exec</function>, <function>system</function>, - <function>popen</function>, <function>escapeshellcmd</function>, - e <link linkend="language.operators.execution">l'operatore backtick</link>. - </para> - </refsect1> - </refentry> - - <refentry id="function.system"> - <refnamediv> - <refname>system</refname> - <refpurpose>Esegue un programma esterno e mostra l'output</refpurpose> - </refnamediv> - <refsect1> - <title>Descrizione</title> + <para> + La funzione <function>passthru</function> è simile alla funzione + <function>exec</function> inquanto esegue + <parameter>command</parameter>. Se il parametro + <parameter>return_var</parameter> è specificato, lo stato ritornato dal comando + Unix verrà posto lì. Questa funzione deve essere usata al posto di +<function>exec</function> + o di <function>system</function> quando l'output del comando Unix consiste + in dati binari da passare direttamente al browser. + Un suo uso frequente consiste nel eseguire, ad esempio, le utility + pbmplus che possono restituire un flusso diretto all'immagine. + Impostado il tipo di contenuto a <emphasis>image/gif</emphasis> e successivamente + chiamando un programma pbmplus per generare una gif puoi realizzare uno script + PHP che genera direttamente immagini.</para> + <para> + Nota che se avvii un programma usando questa funzione e intendi lasciarlo + girare in sottofondo, devi accertarti che l'output del programma sia rediretto + in un file o a qualche altro flusso di output o PHP attenderà fino alla + fine dell'esecuzione del programma. + </para> + <para> + Vedi anche <function>exec</function>, <function>system</function>, + <function>popen</function>, <function>escapeshellcmd</function>, + e <link linkend="language.operators.execution">l'operatore backtick</link>. + </para> + </refsect1> + </refentry> + + <refentry id="function.system"> + <refnamediv> + <refname>system</refname> + <refpurpose>Esegue un programma esterno e mostra l'output</refpurpose> + </refnamediv> + <refsect1> + <title>Descrizione</title> <methodsynopsis> <type>string</type><methodname>system</methodname> <methodparam><type>string</type><parameter>command</parameter></methodparam> <methodparam choice="opt"><type>int</type><parameter>return_var</parameter></methodparam> </methodsynopsis> - <para> - <function>system</function> è semplicemente come la versione C della funzione - che esegue il <parameter>command</parameter> dato e restituisce in uscita il risultato. - Se viene fornita una variabile come secondo argomento, allora il codice di stato - ritornato dal comando eseguito verrà scritto in tale variabile. - </para> - <para> - Nota che se intendi permettere che i dati in ingresso dall'utente - vengano passati a questa funzione, dovresti utilizzare la funzione - <function>escapeshellcmd</function> per assicurarti che l'utente non possa - forzare il sistema ad eseguire comandi arbitrari. - </para> - <para> - Nota che se avvii un programma usando questa funzione e intendi lasciarlo - girare in sottofondo, devi accertarti che l'output del programma sia rediretto - in un file o a qualche altro flusso di output o PHP attenderà fino alla - fine dell'esecuzione del programma. - </para> - <para> - La chiamata a <function>system</function> tenta anche di ripulire automaticamente - il buffer di output del web server dopo ogni linea di output se PHP - gira come un modulo server. - </para> - <para> - Ritorna l'ultima linea del output del comando se ha successo e &false; - se fallisce. - </para> - <para> - Se devi eseguire un comando ottenendo tutti i dati restituiti dal comando - direttamente senza alcuna interferenza, usa la funzione - <function>passthru</function>. - </para> - <para> - Vedi anche <function>exec</function>, - <function>passthru</function>, <function>popen</function>, - <function>escapeshellcmd</function> e <link - linkend="language.operators.execution">l'operatore backtick</link>. - </para> - </refsect1> - </refentry> - - <refentry id='function.shell-exec'> - <refnamediv> - <refname>shell_exec</refname> - <refpurpose> - Esegue un comando attraverso la shell e restituisce l'output come stringa - </refpurpose> - </refnamediv> - <refsect1> - <title>Descrizione</title> + <para> + <function>system</function> è semplicemente come la versione C della funzione + che esegue il <parameter>command</parameter> dato e restituisce in uscita il +risultato. + Se viene fornita una variabile come secondo argomento, allora il codice di stato + ritornato dal comando eseguito verrà scritto in tale variabile. + </para> + <para> + Nota che se intendi permettere che i dati in ingresso dall'utente + vengano passati a questa funzione, dovresti utilizzare la funzione + <function>escapeshellcmd</function> per assicurarti che l'utente non possa + forzare il sistema ad eseguire comandi arbitrari. + </para> + <para> + Nota che se avvii un programma usando questa funzione e intendi lasciarlo + girare in sottofondo, devi accertarti che l'output del programma sia rediretto + in un file o a qualche altro flusso di output o PHP attenderà fino alla + fine dell'esecuzione del programma. + </para> + <para> + La chiamata a <function>system</function> tenta anche di ripulire automaticamente + il buffer di output del web server dopo ogni linea di output se PHP + gira come un modulo server. + </para> + <para> + Ritorna l'ultima linea del output del comando se ha successo e &false; + se fallisce. + </para> + <para> + Se devi eseguire un comando ottenendo tutti i dati restituiti dal comando + direttamente senza alcuna interferenza, usa la funzione + <function>passthru</function>. + </para> + <para> + Vedi anche <function>exec</function>, + <function>passthru</function>, <function>popen</function>, + <function>escapeshellcmd</function> e <link + linkend="language.operators.execution">l'operatore backtick</link>. + </para> + </refsect1> + </refentry> + + <refentry id='function.shell-exec'> + <refnamediv> + <refname>shell_exec</refname> + <refpurpose> + Esegue un comando attraverso la shell e restituisce l'output come stringa + </refpurpose> + </refnamediv> + <refsect1> + <title>Descrizione</title> <methodsynopsis> <type>string</type><methodname>shell_exec</methodname> <methodparam><type>string</type><parameter>cmd</parameter></methodparam> </methodsynopsis> - <para> - &warn.undocumented.func; - </para> - </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 ---> + <para> + &warn.undocumented.func; + </para> + </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 +-->