Подтвердить что ты не робот

Как я могу прочитать содержимое stdin (вплоть до EOF) в строку в PHP?

Как я могу прочитать содержимое stdin (вплоть до EOF) в строку в PHP?

4b9b3361

Ответ 1

закончил выяснять это сам:

$input_data = file_get_contents("php://stdin");

Ответ 2

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

Вы можете проверить EOF, используя feof().

Для получения дополнительной информации см. ссылку для программирования командной строки в PHP на PHP.net.

Ответ 3

Здесь альтернатива: вы можете использовать stream_get_contents, чтобы получить все из открытого потока (AKA - дескриптор файла). STDIN - это уже открытый дескриптор, эквивалентный тому, что вы получаете, если вы вызываете fopen('php://stdin') (см. ссылку: Вводные/выходные потоки

Итак: вы можете использовать

$input_data = stream_get_contents(STDIN);

который эквивалентен принятому ответу.