PHP:如何跟踪缺少输入数据的超时?

PHP:如何跟踪缺少输入数据的超时?,php,stdin,Php,Stdin,有一个从STDIN接收输入行的代码: #!/usr/bin/php <?php while (false !== ($line = fgets(STDIN))) { if (preg_match('/start/',$line)) { echo $line , "\n"; } } ?> #/usr/bin/php 我的问题是:如何跟踪1分钟内没有输入数据的超时情况,并告知是否发生了这种情况?我从这里使用hek2mgl的答案解决了我的问题[

有一个从STDIN接收输入行的代码:

#!/usr/bin/php
<?php
while (false !== ($line = fgets(STDIN))) {
      if (preg_match('/start/',$line)) {
         echo $line , "\n";
      }
}
?>
#/usr/bin/php

我的问题是:如何跟踪1分钟内没有输入数据的超时情况,并告知是否发生了这种情况?

我从这里使用hek2mgl的答案解决了我的问题[

这是我的代码:

#!/usr/bin/php
<?php
echo "input something ... (5 sec)\n";
$stdin = fopen('php://stdin', 'r');

while(true) {
$read = array($stdin);
$write = $except = array();
$timeout = 5;

    if(stream_select($read, $write, $except, $timeout)) {
          $line = fgets($stdin);
          if (preg_match('/start/',$line)) {
                echo $line , "\n";
          }
    } else {
       echo "you typed nothing\n";
    }
}
?>
!/usr/bin/php