Чтение построчно из STDIN без блокировки - PullRequest
5 голосов
/ 11 февраля 2011

По сути, я пытаюсь прочитать строки из STDIN, но не хочу блокировать их, ожидая новых данных. Почти как использование потока с таймаутом.

$stdin = fopen('php://stdin', 'r');

do {
  $line = fgets($stdin);

  // No input right now
  if (empty($line)) {
    // Do something before waiting for more input
  }
} while (1);

1 Ответ

7 голосов
/ 11 февраля 2011

Разобрался, используйте stream_set_blocking Документы , чтобы отключить блокировку.Устанавливает $line в false, когда нет доступных входных данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...