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 ...
Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.