如何将stdin的内容(直到EOF)读入PHP中的字符串?

zak*_*k23 35 php stream

如何将stdin的内容(直到EOF)读入PHP中的字符串?

zak*_*k23 64

最后我自己搞清楚了:

$input_data = file_get_contents("php://stdin");
Run Code Online (Sandbox Code Playgroud)


hbw*_*hbw 6

使用一些文件阅读功能(例如fgets(),fgetc(),fscanf()),并通过在STDIN作为文件路径(或php://stdin根据您的PHP版本有多新).

您可以使用测试EOF feof().

有关详细信息,请参阅PHP.net 上PHP中的命令行编程参考.


bar*_*art 5

这是一种替代方案:您可以用来stream_get_contents从开放流中获取所有内容(也称为文件句柄)。STDIN是一个已经打开的句柄,等效于调用后得到的句柄fopen('php://stdin')(请参阅参考资料:输入/输出流

所以:你可以使用

$input_data = stream_get_contents(STDIN);
Run Code Online (Sandbox Code Playgroud)

等同于接受的答案