Я пишу скрипт, который может читать со стандартного ввода, а затем запрашивать подтверждение.
<?php
$stream = fopen('php://stdin', 'r');
$input = fgets($stream, 1024);
$confirmation = readline('Are you sure?');
if ( $confirmation == 'y' )
/* Do dangerous stuff */
Когда я запускаю его напрямую:
$ php script.php
inputdata
^D
Are you sure?
Но я пытаюсь запустить его, используя файл в качестве STDIN. В этом случае readline () возвращает false и подтверждение не запрашивается.
$ php script.php < data.txt
или
$ echo "foobar" | php script.php
Как я могу читать как с STDIN, так и с клавиатуры при вызове этого сценария таким образом?
Спасибо.