Casi siempre, PHP es un lenguaje utilizado para la web y no para programas de consola o escritorio; aunque tenemos la posibilidad de utilizarlo para esos propósitos.
Y es que si estamos familiarizados con PHP y tenemos muchas bibliotecas de clases/funciones en ese lenguaje, a menudo querremos utilizarlo para otros propósitos.
Como sabemos, cuando queremos sacar texto por pantalla desde un programa tenemos la salida estándar y la salida de error (stdout, stderr); desde PHP podemos utilizar de forma fácil la salida estándar con las funciones habituales (echo, printf, print, print_r, etc). Pero para aprovechar la salida de error tendremos que recurrir a un recurso especial php://stderr, éste se comporta como un fichero donde la información que escribamos en él se dirigirá a la salida de error.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php function echoerr($txt) { file_put_contents('php://stderr', $txt); } function echoerr2($txt) { $e=fopen('php://stderr', 'w'); fwrite($e, $txt); fclose($e); } echo "Hola mundo!\n"; echoerr("Hola error!\n"); echoerr2("Hola error, parte II\n"); ?> |
Como vemos, podemos utilizarlo con cualquier función que escriba en un archivo, como por ejemplo file_put_contents() o abriéndolo con fopen() y escribiendo en el archivo.
En la salida podemos ver que escribimos en stderr:
gaspy@local ~/proyectos/poesiabinaria $ php stdout.php
Hola mundo!
Hola error!
Hola error, parte II
# ——- Aquí vemos la salida completa ————-
gaspy@local ~/proyectos/poesiabinaria $ php stdout.php > hola
Hola error!
Hola error, parte II
# ——- Sólo vemos el error, la salida estándar está redirigida a un archivo.
gaspy@local ~/proyectos/poesiabinaria $ cat hola
Hola mundo!
# ——- Vemos el archivo con la salida estándar solamente.
Pingback: Bitacoras.com /
0.o poder hacer eso es muy útil para usarlo en scripting, gracias!
@kenkeiras
Con lo scripteros que somos estaba tardando ehh !
Pingback: BlogESfera.com /