drews Wed Sep 5 06:31:12 2001 EDT
Modified files:
/phpdoc/de/functions exec.xml
Log:
finally finished this stuff ... yeah, i know, it took me a long way ... ;)
Index: phpdoc/de/functions/exec.xml
diff -u /dev/null phpdoc/de/functions/exec.xml:1.7
--- /dev/null Wed Sep 5 06:31:12 2001
+++ phpdoc/de/functions/exec.xml Wed Sep 5 06:31:12 2001
@@ -0,0 +1,286 @@
+<?xml encoding="iso-8859-1"?>
+<!-- $Revision: 1.7 $ -->
+ <reference id="ref.exec">
+ <title>Funktionen zur Programmausf�hrung</title>
+ <titleabbrev>Programmausf�hrung</titleabbrev>
+
+ <partintro>
+ <simpara>
+ Diese Funktionen stellen Mittel und Wege zur Verf�gung, Befehle und externe
+ Programme auf dem System selbst auszuf�hren und diese Ausf�hrung sicher
+ durchzuf�hren. Diese Funktionen stehen in enger Beziehung zum
+ <link linkend="language.operators.execution">Backtick-Operator</link>.
+ </simpara>
+ </partintro>
+
+ <refentry id="function.escapeshellarg">
+ <refnamediv>
+ <refname>escapeshellarg</refname>
+ <refpurpose>maskiert eine Zeichenkette (String), um sie als Shell-Argument
+ benutzen zu k�nnen</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Beschreibung</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>escapeshellarg</function></funcdef>
+ <paramdef>string <parameter>arg</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ <function>escapeshellarg</function> f�gt einfache Anf�hrungszeichen um
+ eine Zeichenkette herum ein und maskiert alle existierenden einfachen
+ Anf�hrungszeichen innerhalb der Zeichenkette. Dieses erlaubt es Ihnen,
+ eine Zeichenkette direkt an eine Shell-Funktion zu �bergeben, so dass
+ diese als eine einzige, sichere Anweisung ausgef�hrt werden kann.
+ Die Funktion sollte verwendet werden, um Parameter, die aus Benutzereingaben
+ resultieren, an Shell-Funktionen zu �bergeben. Die Shell-Funktionen
+ umfassen <function>exec</function>, <function>system</function> und den
+ <link linkend="language.operators.execution">backtick operator</link>.
+ Beispiel:</para>
+ <para>
+ <informalexample>
+ <programlisting role="php">
+ system("ls ".escapeshellarg($dir));
+ </programlisting>
+ </informalexample>
+ </para>
+ <para>
+ Siehe auch:<function>exec</function>, <function>popen</function>,
+ <function>system</function>, und den <link
+ linkend="language.operators.execution">Backtick Operator</link>.
+ </para>
+
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.escapeshellcmd">
+ <refnamediv>
+ <refname>escapeshellcmd</refname>
+ <refpurpose>maskiert Shell-Metazeichen</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Beschreibung</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>escapeshellcmd</function></funcdef>
+ <paramdef>string <parameter>befehl</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ <function>escapeshellcmd</function> maskiert alle m�glichen Zeichen in
+ einer Zeichenkette, die dazu benutzt werden k�nnten, um einen Shellbefehl
+ zur Durchf�hrung von willk�rlichen Befehlen zu veranlassen. Diese
+ Funktion sollte verwendet werden um sicherzustellen, dass alle Daten
+ aus einer Benutzereingabe maskiert werden bevor dieses Daten zu einer
+ der Funktionen <function>exec</function>, <function>system</function>
+ oder dem <link linkend="language.operators.execution">Backtick Operator
+ </link> �bergeben werden. Beispiel:</para>
+ <para>
+ <informalexample>
+ <programlisting role="php">
+$e = escapeshellcmd($userinput);
+system("echo $e"); // hier ist es egal, ob $e Leerstellen hat
+$f = escapeshellcmd($filename);
+system("touch \"/tmp/$f\"; ls -l \"/tmp/$f\""); // hier ist es nicht egal
+ </programlisting>
+ </informalexample>
+ </para>
+ <para>
+ Siehe auch: <function>escapeshellarg</function>, <function>exec</function>,
+ <function>popen</function>, <function>system</function>, und den <link
+ linkend="language.operators.execution">Backtick Operator</link>.
+ </para>
+
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.exec">
+ <refnamediv>
+ <refname>exec</refname>
+ <refpurpose>f�hrt ein externes Programm aus</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Beschreibung</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>exec</function></funcdef>
+ <paramdef>string <parameter>befehl</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> f�hrt ein gegebenen <parameter>Befehl</parameter>
+ aus, ohne eine Ausgabe zu erzeugen. Die Funktion gibt lediglich die
+ letzte Zeile aus dem Befehlsergebnis zur�ck. Wenn Sie auf die direkte
+ R�ckgabe/ Ausgabe eines Befehls angewiesen sind, dann benutzen Sie
+ stattdessen die Funktion <function>passthru</function>.
+ </para>
+ <para>
+ Ist der Parameter <parameter>array</parameter> angegeben, wird dieses
+ mit jeder Zeile des Befehlsausgabe gef�llt. Beachten Sie, dass wenn
+ das Array schon Elemente enth�lt, die Funktion <function>exec</function>
+ die Ausgabe an das Array anh�ngt.
+ Wenn Sie dieses nicht w�nschen, rufen Sie die Funktion <function>unset
+ </function> f�r das Array auf, bevor Sie es als Parameter der Funktion
+ <function>exec</function> �bergeben.
+ </para>
+ <para>
+ Ist der Parameter <parameter>return_var</parameter> angegeben, so wird
+ der R�ckgabestatus des ausgef�hrten Befehls in diese Variable geschrieben.
+ </para>
+ <para>
+ Beachten Sie, dass wenn Sie Benutzereingaben an diese Funktion
+ �bergeben, diese mit <function>escapeshellcmd</function> behandelt, um
+ sicherzustellen, dass niemand mit willk�rlichen Befehlen Ihrem System
+ Schaden zuf�gen kann.
+ </para>
+ <para>
+ Beachten Sie auch, dass wenn Sie ein Programm mit dieser Funktion
+ starten und Sie es im Hintergrund laufen lassen m�chten, Sie
+ sicherstellen m�ssen, dass die Ausgabe des Programms in eine Datei
+ oder anderenen Ausgabestream umgeleitet wird. Andernfalls wird PHP
+ solange laufen, bis das Programm beendet ist.
+ </para>
+ <para>
+ Siehe auch: <function>system</function>,
+ <function>passthru</function>, <function>popen</function>,
+ <function>escapeshellcmd</function>, und den <link
+ linkend="language.operators.execution">Backtick Operator</link>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.passthru">
+ <refnamediv>
+ <refname>passthru</refname>
+ <refpurpose>
+ f�hrt ein externes Programm aus und zeigt dessen Ausgabe an
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Beschreibung</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>void <function>passthru</function></funcdef>
+ <paramdef>string <parameter>befehl</parameter></paramdef>
+ <paramdef>int
+ <parameter><optional>return_var</optional></parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Die Funktion <function>passthru</function> �hnelt der Funktion
+ <function>exec</function>, da sie ebenfalls einen <parameter>Befehl
+ </parameter> ausf�hrt.
+ Ist der Parameter <parameter>return_var</parameter> angegeben, wird
+ der R�ckgabestatus des UNIX-Befehls hier abgelegt. Sie sollten diese
+ Funktion jedoch an Stelle von <function>exec</function> bzw.
+ <function>system</function> benutzen, wenn es sich bei der Ausgabe
+ des Unix-Befehls um bin�re Daten handelt, welche direkt zum Browser
+ zur�ckgeschickt werden m�ssen.
+ Ein praktisches Beispiel hierf�r ist die Ausf�hrung des pbmplus Utility,
+ welches direkt einen Bildstream ausgibt. Wenn Sie den Content-Type auf
+ <emphasis>image/gif</emphasis> setzen, und dann das pbmplus Program
+ aufrufen um ein GIF zu erzeugen, k�nnen Sie auf diesem Weg mittels PHP
+ direkt ein Bild erzeugen und es ausgeben.</para>
+ <para>
+ Beachten Sie, dass wenn Sie ein Programm mit dieser Funktion
+ starten und Sie es im Hintergrund laufen lassen m�chten, Sie
+ sicherstellen m�ssen, dass die Ausgabe des Programms in eine Datei
+ oder anderenen Ausgabestream umgeleitet wird. Andernfalls wird PHP
+ solange laufen, bis das Programm beendet ist.
+ </para>
+ <para>
+ Siehe auch: <function>exec</function>, <function>system</function>,
+ <function>popen</function>, <function>escapeshellcmd</function>,
+ und den <link linkend="language.operators.execution">Backtick
+ Operator</link>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.system">
+ <refnamediv>
+ <refname>system</refname>
+ <refpurpose>
+ f�hrt ein externes Programm aus und zeigt dessen Ausgabe an.
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Beschreibung</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>system</function></funcdef>
+ <paramdef>string <parameter>befehl</parameter></paramdef>
+ <paramdef>int
+ <parameter><optional>return_var</optional></parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Die Funktion <function>system</function> �hnelt der C Version der Funktion
+ sehr, indem es einen �bergebenen <parameter>Befehl</parameter> ausf�hrt
+ und dessen Ausgabe anzeigt. Wir als zweiter Parameter der Funktion eine
+ Variable �bergeben, so wird der R�ckgabestatus des Befehls in diese
+ geschrieben.
+ </para>
+ <para>
+ Beachten Sie, dass wenn Sie Benutzereingaben an diese Funktion
+ �bergeben, diese mit <function>escapeshellcmd</function> behandelt, um
+ sicherzustellen, dass niemand mit willk�rlichen Befehlen Ihrem System
+ Schaden zuf�gen kann.
+ </para>
+ <para>
+ Beachten Sie auch, dass wenn Sie ein Programm mit dieser Funktion
+ starten und Sie es im Hintergrund laufen lassen m�chten, Sie
+ sicherstellen m�ssen, dass die Ausgabe des Programms in eine Datei
+ oder anderenen Ausgabestream umgeleitet wird. Andernfalls wird PHP
+ solange laufen, bis das Programm beendet ist.
+ </para>
+ <para>
+ Die <function>system</function> Funktionsaufrufe versuchen �brigens
+ automatisch nach jeder Ausgabezeile den Ausgabebuffer des Webservers
+ zu flushen, wenn PHP als Servermodul l�uft.
+ </para>
+ <para>
+ Gibt die letzte Zeile der Befehlsausgabe bei Erfolg, andernfalls &false;
+ zur�ck.
+ </para>
+ <para>
+ Wenn Sie auf die direkte R�ckgabe/ Ausgabe eines Befehls angewiesen sind,
+ dann benutzen Sie stattdessen die Funktion <function>passthru</function>.
+ </para>
+ <para>
+ Siehe auch: <function>exec</function>,
+ <function>passthru</function>, <function>popen</function>,
+ <function>escapeshellcmd</function>, und den <link
+ linkend="language.operators.execution">Backtick Operator</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:
+-->