如何编写命令行交互式 PHP 脚本?
我想写一个可以从命令行使用的PHP脚本。我希望它提示并接受一些项目的输入,然后吐出一些结果。我想在PHP中执行此操作,因为我所有的类和库都在PHP中,我只想为一些事情做一个简单的命令行界面。
提示和接受重复的命令行输入是让我绊倒的部分。我该怎么做?
我想写一个可以从命令行使用的PHP脚本。我希望它提示并接受一些项目的输入,然后吐出一些结果。我想在PHP中执行此操作,因为我所有的类和库都在PHP中,我只想为一些事情做一个简单的命令行界面。
提示和接受重复的命令行输入是让我绊倒的部分。我该怎么做?
PHP 手册中的 I/O 流页面描述了如何使用 STDIN 从命令行读取行:
<?php
$line = trim(fgets(STDIN)); // reads one line from STDIN
fscanf(STDIN, "%d\n", $number); // reads number from STDIN
?>
来自 PHP:从键盘读取 – 通过键入从键盘控制台获取用户输入:
你需要一个特殊的文件:
php://stdin
它代表标准输入。
print "Type your message. Type '.' on a line by itself when you're done.\n";
$fp = fopen('php://stdin', 'r');
$last_line = false;
$message = '';
while (!$last_line) {
$next_line = fgets($fp, 1024); // read the special file to get the user input from keyboard
if (".\n" == $next_line) {
$last_line = true;
} else {
$message .= $next_line;
}
}