Reading line by line from STDIN Reading line by line from STDIN php php

Reading line by line from STDIN


use STDIN constant as file handler.

while($f = fgets(STDIN)){    echo "line: $f";}

Note: fgets on STDIN reads the \n character.


You could also use a generator - if you don't know how large the STDIN is going to be.

Requires PHP 5 >= 5.5.0, PHP 7

Something along the lines of:

function stdin_stream(){    while ($line = fgets(STDIN)) {        yield $line;    }}foreach (stdin_stream() as $line) {    // do something with the contents coming in from STDIN}

You can read more about generators here (or a google search for tutorials):http://php.net/manual/en/language.generators.overview.php