hello,
What is the better way to read from a pipe from a php cli script?
#! /usr/bin/php -q
<?php
$stdin = fopen('php://stdin', 'r');
while (!feof($stdin))
$buffer .= fgets($stdin, 4096);
fclose($stdin);
?>
or
<?php
while ($stdin = fread(STDIN, 4096)) $buffer .= $stdin;
?>
I have tryed these ways, but the problem is that if there is no pipe input,
the script is waiting for ^D from the user (so this is a problem if the php
filter is used in a bash script, because it will block the process).
How can I detect if there is an stdin from a pipe or not?
I have tryed this but it does not work:
stream_set_timeout(STDIN, 1, 10);
--
thanks
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php