O'Reilly logo

PHP 5 Kochbuch, Third Edition by Stephan Schmidt, Ulrich Speidel, Matthias Brusdeylins, Carsten Lucke, Adam Trachtenberg, David Sklar

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

21.20 Die Standardausgabe eines Programms lesen

Problem

Sie wollen die Ausgabe eines Programms einlesen; zum Beispiel wollen Sie die Ausgabe eines System-Tools lesen, wie z.B. route(8), das Netzwerkinformationen zur Verfügung stellt.

Lösung

Um den gesamten Inhalt einer Programmausgabe einzulesen, verwenden Sie den Backtick-Operator (`):

$routing_table = `/sbin/route`;

Um die Ausgabe stückweise auszulesen, öffnen Sie eine Pipeline mit popen():

$ph = popen('/sbin/route','r') or die($php_errormsg);
while (! feof($ph)) {
    $s = fgets($ph,1048576)    or die($php_errormsg);
}
pclose($ph)                    or die($php_errormsg);

Diskussion

Der Backtick-Operator (der im Safe Mode nicht zur Verfügung steht) führt ein Programm aus und gibt dessen gesamte Ausgabe als einen einzigen String ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required