我正在使用命令行脚本,使用fread(对于是/否,...)和fgets(用于手动验证值,...)。
问题是如果我输入的不仅仅是...字符(\ n也是字符串),这个字符已经在下一个fgets / fread-function中输入了。
我试过fflush(STDIN),但它没有用。我也试过stream_get_line(STDIN,1024);这是一个人在一个简短的问题中推荐的,但后来我必须输入几乎无情的多个字符,直到程序继续(我退出)。
如何在使用fgets / fread之前让PHP删除键盘缓冲区?
答案 0 :(得分:0)
如果您的PHP使用 Readline 模块进行编译(这很常见),您可以使用readline()
http://php.net/manual/en/function.readline.php
$input = readline( 'Prompt: ' );
readline()
简化了从终端读取输入的过程。