Search code examples
phpfile-iostdin

PHP standard input?


I know PHP is usually used for web development, where there is no standard input, but PHP claims to be usable as a general-purpose scripting language, if you do follow it's funky web-based conventions. I know that PHP prints to stdout (or whatever you want to call it) with print and echo, which is simple enough, but I'm wondering how a PHP script might get input from stdin (specifically with fgetc(), but any input function is good), or is this even possible?


Solution

  • It is possible to read the stdin by creating a file handle to php://stdin and then read from it with fgets() for a line for example (or, as you already stated, fgetc() for a single character):

    <?php
    $f = fopen( 'php://stdin', 'r' );
    
    while( $line = fgets( $f ) ) {
      echo $line;
    }
    
    fclose( $f );
    ?>