lunes, 28 de julio de 2014

Leer una entrada de datos a través de una línea de comandos en la consola con PHP - STDIN


Bienvenid@s hoy veremos un ejemplo de como leer una entrada de datos a través de una línea de comandos en la consola con PHP, para ello crearemos una función llamada read_stdin(), esta nos devolverá el texto introducido por el usuario en la línea de comandos, lógicamente este valor puede ser almacenado en una variable para realizar las operaciones necesarias.

En el ejemplo se te pedirá que introduzcas un nombre, al introducir tu nombre y pulsar intro te aparecerá un mensaje de bienvenida con el valor que incluiste en la línea de comandos.

Ejecuta el siguiente script en una consola:


    // Primero mostramos este mensaje solicitando el nombre
    echo "Dime tu nombre:\n";

    // Incluimos la función read_stdin() para obtener el valor de entrada de datos
    $nombre = read_stdin();

 // Mostramos un mensaje, incluyendo el valor de la línea de entrada
    echo "Gracias $nombre. Bienvenido.\n";

    // Función para obtener el valor de la línea de comandos
    function read_stdin()
    {
            $fr=fopen("php://stdin","r");   // Abrimos el manejador para la lectura de la línea de entrada
            $input = fgets($fr,128);        // Lectura para un máximo de 128 caracteres
            $input = rtrim($input);         // Limpiar los espacios
            fclose ($fr);                   // cerrar el manejador
            return $input;                  // retornar el texto incluido en la línea de entrada
    }



No hay comentarios: