我知道PHP通常用于web开发,在那里没有标准的输入,但是PHP声称可以作为一种通用的脚本语言使用,如果你确实遵循它的时髦的基于web的约定。我知道PHP用print和echo打印到print(或您想称之为它的任何东西),这很简单,但我想知道PHP脚本如何从stdin (特别是使用fgetc(),但任何输入函数都是好的)获得输入,或者这甚至是可能的?
发布于 2009-02-16 22:08:39
可以通过为stdin创建一个文件句柄来读取php://stdin,然后用fgets()读取其中的一行(或者,正如您已经说过的,单个字符的fgetc() ):
<?php
$f = fopen( 'php://stdin', 'r' );
while( $line = fgets( $f ) ) {
echo $line;
}
fclose( $f );
?>发布于 2010-12-17 23:22:17
STDIN is 推荐方式
<?php
while (FALSE !== ($line = fgets(STDIN))) {
echo $line;
}
?>发布于 2012-02-27 12:09:19
要避免处理文件句柄,请使用file_get_contents()和php://stdin
$ echo 'Hello, World!' | php -r 'echo file_get_contents("php://stdin");'
Hello, World!(如果您正在从stdin读取大量数据,您可能需要使用文件处理方法,但这对许多兆字节来说应该是好的。)
https://stackoverflow.com/questions/554760
复制相似问题