Flujos de entrada/salida

SAPI CLI define algunas constantes para flujos de E/S que simplifican la programación en línea de comandos.

Constantes específicas de CLI
ConstanteDescripción
STDIN

Flujo abierto a stdin. Ahorra tener que abrirlo con

<?php
$stdin
= fopen('php://stdin', 'r');
?>
Si se desea leer una sola línea de stdin, puede usarse
<?php
$line
= trim(fgets(STDIN)); // lee una línea de STDIN
fscanf(STDIN, "%d\n", $number); // lee un número de STDIN
?>
STDOUT

Flujo abierto a stdout. Ahorra tener que abrirlo con

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

Flujo abierto a stderr. Ahorra tener que abrirlo con

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

Teniendo esto en cuenta, no es necesario abrir por ejemplo un flujo a stderr, sino que puede usarse la constante en lugar del recurso de tipo flujo:

php -r 'fwrite(STDERR, "stderr\n");'
No es necesario cerrar explícitamente estos flujos, ya que se cierra automáticamente por PHP al finalizar el script.

Nota:

Estas constantes no están disponibles si se leyera el script PHP a partir de stdin.

To Top