【问题标题】:How can I read the contents of stdin (up until EOF) into a string in PHP?如何将标准输入的内容(直到 EOF)读入 PHP 中的字符串?
【发布时间】:2010-10-23 20:03:47
【问题描述】:

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

【问题讨论】:

    标签: php stream


    【解决方案1】:

    这是另一种选择:您可以使用stream_get_contents 从打开的流(也称为文件句柄)中获取所有内容。 STDIN 是一个已经打开的句柄,相当于你调用 fopen('php://stdin') 时得到的句柄(参见参考:Input/output streams

    所以:你可以使用

    $input_data = stream_get_contents(STDIN);
    

    相当于the accepted answer

    【讨论】:

      【解决方案2】:

      最终自己解决了:

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

      【讨论】:

        【解决方案3】:

        使用一些文件读取函数(例如fgets()fgetc()fscanf())并传入STDIN作为文件路径(或php://stdin,取决于你的PHP版本有多新) .

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

        有关更多信息,请参阅 PHP.net 上的reference for command-line programming in PHP

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-04-28
          • 2014-05-09
          • 1970-01-01
          • 2023-03-06
          • 2014-11-10
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多