我想写一个可以从命令行使用的PHP脚本。我希望它能提示并接受一些条目的输入,然后输出一些结果。我想用PHP完成这项工作,因为我所有的类和库都是用PHP编写的,我只想为一些事情创建一个简单的命令行界面。
提示和接受重复的命令行输入是让我犯错的部分。我该怎么做呢?
发布于 2010-05-28 22:04:16
手册中的I/O Streams页面描述了如何使用STDIN从命令行读取一行:
<?php
$line = trim(fgets(STDIN)); // reads one line from STDIN
fscanf(STDIN, "%d\n", $number); // reads number from STDIN
?>
发布于 2013-07-06 07:53:57
简单:
#!/usr/bin/php
<?php
define('CONFIRMED_NO', 1);
while (1) {
fputs(STDOUT, "\n"."***WARNING***: This action causes permanent data deletion.\nAre you sure you're not going to wine about it later? [y,n]: ");
$response = strtolower(trim(fgets(STDIN)));
if( $response == 'y' ) {
break;
} elseif( $response == 'n' ) {
echo "\n",'So I guess you changed your mind eh?', "\n";
exit (CONFIRMED_NO);
} else {
echo "\n", "Dude, that's not an option you idiot. Let's try this again.", "\n";
continue;
}
}
echo "\n","You're very brave. Let's continue with what we wanted to do.", "\n\n";
发布于 2010-05-28 22:05:26
算法很简单:
until done:
display prompt
line := read a command line of input
handle line
使用一个将命令映射到处理它们的回调函数的数组是非常简单的。整个挑战大致是一个while
循环和两个函数调用。PHP还为更高级的shell应用程序提供了一个readline interface。
https://stackoverflow.com/questions/2929629
复制相似问题