Ein- und Ausgabestreams

Die CLISAPI definiert einige Konstanten für Ein- und Ausgabestreams, um das Erstellen von Kommandozeilenanwendungen zu erleichtern.

CLI-spezifische Konstanten
KonstanteBeschreibung
STDIN

Ein schon geöffneter Stream auf stdin. Dies erspart das Öffnen mit

<?php
$stdin
= fopen('php://stdin', 'r');
?>
Wenn sie einzelne Zeilen von stdin lesen wollen, können Sie folgendes Code-Fragment verwenden:
<?php
$line
= trim(fgets(STDIN)); // liest eine Zeile von STDIN
fscanf(STDIN, "%d\n", $number); // liest eine Zahl von STDIN
?>
STDOUT

Ein schon geöffneter Stream auf stdout. Das erspart das Öffnen mit

<?php
$stdout
= fopen('php://stdout', 'w');
?>
STDERR

Ein schon geöffneter Stream auf stderr. Das erspart das Öffnen mit

<?php
$stderr
= fopen('php://stderr', 'w');
?>

Angesichts des oben Genannten, brauchen Sie beispielsweise nicht selbst einen Stream für stderr öffnen, sondern können einfach die Konstante anstelle der Ressource verwenden:

php -r 'fwrite(STDERR, "stderr\n");'
Sie brauchen diese Streams nicht explizit zu schließen, weil sie automatisch von PHP geschlossen werden, wenn Ihr Skript endet.

Hinweis:

Diese Konstanten sind nicht verfügbar, wenn ein PHP Skript von stdin eingelesen wird.

To Top