【发布时间】:2010-10-23 20:03:47
【问题描述】:
如何在 PHP 中将 stdin 的内容(直到 EOF)读入字符串?
【问题讨论】:
如何在 PHP 中将 stdin 的内容(直到 EOF)读入字符串?
【问题讨论】:
这是另一种选择:您可以使用stream_get_contents 从打开的流(也称为文件句柄)中获取所有内容。 STDIN 是一个已经打开的句柄,相当于你调用 fopen('php://stdin') 时得到的句柄(参见参考:Input/output streams
所以:你可以使用
$input_data = stream_get_contents(STDIN);
【讨论】:
最终自己解决了:
$input_data = file_get_contents("php://stdin");
【讨论】:
使用一些文件读取函数(例如fgets()、fgetc()、fscanf())并传入STDIN作为文件路径(或php://stdin,取决于你的PHP版本有多新) .
您可以使用 feof() 测试 EOF。
有关更多信息,请参阅 PHP.net 上的reference for command-line programming in PHP。
【讨论】: