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 @@
+
+
+
+ Funktionen zur Programmausführung
+ Programmausführung
+
+
+
+ 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
+ Backtick-Operator.
+
+
+
+
+
+ escapeshellarg
+ maskiert eine Zeichenkette (String), um sie als Shell-Argument
+ benutzen zu können
+
+
+ Beschreibung
+
+
+ string escapeshellarg
+ string arg
+
+
+
+ escapeshellarg 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 exec, system und den
+ backtick operator.
+ Beispiel:
+
+
+
+ system("ls ".escapeshellarg($dir));
+
+
+
+
+ Siehe auch:exec, popen,
+ system, und den Backtick Operator.
+
+
+
+
+
+
+
+ escapeshellcmd
+ maskiert Shell-Metazeichen
+
+
+ Beschreibung
+
+
+ string escapeshellcmd
+ string befehl
+
+
+
+ escapeshellcmd 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 exec, system
+ oder dem Backtick Operator
+ übergeben werden. Beispiel:
+
+
+
+$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
+
+
+
+
+ Siehe auch: escapeshellarg, exec,
+ popen, system, und den Backtick Operator.
+
+
+
+
+
+
+
+ exec
+ führt ein externes Programm aus
+
+
+ Beschreibung
+
+
+ string exec
+ string befehl
+ string
+ array
+
+
+ int
+ return_var
+
+
+
+
+ exec führt ein gegebenen Befehl
+ 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 passthru.
+
+
+ Ist der Parameter array angegeben, wird dieses
+ mit jeder Zeile des Befehlsausgabe gefüllt. Beachten Sie, dass wenn
+ das Array schon Elemente enthält, die Funktion exec
+ die Ausgabe an das Array anhängt.
+ Wenn Sie dieses nicht wünschen, rufen Sie die Funktion unset
+ für das Array auf, bevor Sie es als Parameter der Funktion
+ exec übergeben.
+
+
+ Ist der Parameter return_var angegeben, so wird
+ der Rückgabestatus des ausgeführten Befehls in diese Variable geschrieben.
+
+
+ Beachten Sie, dass wenn Sie Benutzereingaben an diese Funktion
+ übergeben, diese mit escapeshellcmd behandelt, um
+ sicherzustellen, dass niemand mit willkürlichen Befehlen Ihrem System
+ Schaden zufügen kann.
+
+
+ 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.
+
+
+ Siehe auch: system,
+ passthru, popen,
+ escapeshellcmd, und den Backtick Operator.
+
+
+
+
+
+
+ passthru
+
+ führt ein externes Programm aus und zeigt dessen Ausgabe an
+
+
+
+ Beschreibung
+
+
+ void passthru
+ string befehl
+ int
+ return_var
+
+
+
+
+ Die Funktion passthru ähnelt der Funktion
+ exec, da sie ebenfalls einen Befehl
+ ausführt.
+ Ist der Parameter return_var angegeben, wird
+ der Rückgabestatus des UNIX-Befehls hier abgelegt. Sie sollten diese
+ Funktion jedoch an Stelle von exec bzw.
+ system 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
+ image/gif 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.
+
+ 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.
+
+
+ Siehe auch: exec, system,
+ popen, escapeshellcmd,
+ und den Backtick
+ Operator.
+
+
+
+
+
+
+ system
+
+ führt ein externes Programm aus und zeigt dessen Ausgabe an.
+
+
+
+ Beschreibung
+
+
+ string system
+ string befehl
+ int
+ return_var
+
+
+
+
+ Die Funktion system ähnelt der C Version der Funktion
+ sehr, indem es einen übergebenen Befehl 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.
+
+
+ Beachten Sie, dass wenn Sie Benutzereingaben an diese Funktion
+ übergeben, diese mit escapeshellcmd behandelt, um
+ sicherzustellen, dass niemand mit willkürlichen Befehlen Ihrem System
+ Schaden zufügen kann.
+
+
+ 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.
+
+
+ Die system Funktionsaufrufe versuchen übrigens
+ automatisch nach jeder Ausgabezeile den Ausgabebuffer des Webservers
+ zu flushen, wenn PHP als Servermodul läuft.
+
+
+ Gibt die letzte Zeile der Befehlsausgabe bei Erfolg, andernfalls &false;
+ zurück.
+
+
+ Wenn Sie auf die direkte Rückgabe/ Ausgabe eines Befehls angewiesen sind,
+ dann benutzen Sie stattdessen die Funktion passthru.
+
+
+ Siehe auch: exec,
+ passthru, popen,
+ escapeshellcmd, und den Backtick Operator.
+
+
+
+
+
+
+