> echo bob | myScript.php
>
> In myScript.php, I'm doing:
>
>  $handle = popen( 'php://stdin', 'r' );
>  echo var_export( $handle, TRUE ) . "\n\n";

What output are you getting from those lines, and what were you
expecting? $handle is just a resource, same as if you opened a regular
file -- you still need to read data from it with something like
fgets().

If I'm writing a quick-and-dirty script to process piped-in data, I
find this construct to work reasonably well:

while(!feof(STDIN)) {
    $line = fgets(STDIN);

    // trim() $line here if I don't want trailing/vertical whitespace

    // now do something with $line
}

The one weakness of that form is that I always get an empty line at
the end, but as long as I check for that in the loop (which I should
usually be doing anyway), it's no problem.

Ben

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to