cortesi Mon Dec 17 07:41:30 2001 EDT Modified files: /phpdoc/it/functions exec.xml Log: adding italian version of exec in sync with EN 1.22
Index: phpdoc/it/functions/exec.xml diff -u /dev/null phpdoc/it/functions/exec.xml:1.9 --- /dev/null Mon Dec 17 07:41:30 2001 +++ phpdoc/it/functions/exec.xml Mon Dec 17 07:41:30 2001 @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- EN-Revision: 1.22 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 stasso, + 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. + escape a string to be used as a shell argument</refpurpose> + </refnamediv> + <refsect1> + <title>Descrizione</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>escapeshellarg</function></funcdef> + <paramdef>string <parameter>arg</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <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 + veng trattata come un singolo argomento. + Questa funzione può 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> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>escapeshellcmd</function></funcdef> + <paramdef>string <parameter>command</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>escapeshellcmd</function> elude ogni carattere di una stringa che + potrebbe essere usata per ingannare un comando shell ad eseguire comandi + arbitrari. Questa funzione dovrebbe essere usata per assicurarsi che ogni dato + che giunga dall'input dell utente sia elusa prima che tali dati vengano +passati + a funzioni come <function>exec</function> o + <function>system</function>, o al <link + linkend="language.operators.execution">operatore backtick + </link>. Un utilizzo frequente sarebbe:</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> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>exec</function></funcdef> + <paramdef>string <parameter>command</parameter></paramdef> + <paramdef>string + <parameter><optional>array</optional> + </parameter> + </paramdef> + <paramdef>int + <parameter><optional>return_var</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>exec</function> esegue il comando passato da + <parameter>command</parameter>, sebbene esso non restituisca nulla in output + Ritorna 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 il 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 ingannare il sistema per 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 la +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> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>passthru</function></funcdef> + <paramdef>string <parameter>command</parameter></paramdef> + <paramdef>int + <parameter><optional>return_var</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <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 è di eseguire qualcosa come 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> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>system</function></funcdef> + <paramdef>string <parameter>command</parameter></paramdef> + <paramdef>int + <parameter><optional>return_var</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <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 che 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> + + </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 +-->