Вход стандарта PHP?

Как вы говорите, вам нужно показать код. : -)

Ошибка переполнения стека обычно происходит, когда ваша функция вызывает слишком много гнезд. См. Поток «Переполнение потока стека» для некоторых примеров того, как это происходит (хотя в случае этого вопроса ответы преднамеренно вызывают переполнение стека).

53
задан Chris Lutz 16 February 2009 в 22:05
поделиться

4 ответа

Возможно читать stdin путем создания дескриптора файла к php://stdin и затем читать из него с fgets() для строки, например (или, как Вы уже заявили, fgetc() для отдельного символа):

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

while( $line = fgets( $f ) ) {
  echo $line;
}

fclose( $f );
?>
74
ответ дан Dave Jarvis 7 November 2019 в 18:18
поделиться

Вместо того, чтобы вручную открытие поток STDIN, используйте созданный в readline () функция, если Вы просто хотите считать одну строку без слишком много стычки:

<?php
$age= readline("Enter your age: ");
echo "Your age is : ".$age;

документация PHP является Вашим другом: https://www.php.net/manual/en/function.readline.php

0
ответ дан 7 November 2019 в 08:18
поделиться

Можно использовать fopen() на php://stdin:

$f = fopen('php://stdin', 'r');
7
ответ дан Greg 7 November 2019 в 18:18
поделиться

IIRC, можно также использовать следующее:

$in = fopen(STDIN, "r");
$out = fopen(STDOUT, "w");

Технически то же, но немного более чистый мудрый синтаксисом.

5
ответ дан Fritz H 7 November 2019 в 18:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: