【问题标题】:PHP wait for input from command line [duplicate]PHP等待来自命令行的输入[重复]
【发布时间】:2013-02-25 16:08:20
【问题描述】:

我希望能够让 PHP 程序等待用户输入。例如:

  1. 脚本向服务器请求授权码(此码将通过电子邮件发送)
  2. 脚本等待用户输入授权码
  3. 脚本继续

我应该如何执行第 2 步? (有可能吗?)

【问题讨论】:

  • 如何阅读有关 php cli 使用的手册页,特别有用的是这条评论 -> php.net/manual/en/features.commandline.php#94924
  • 谢谢@Crisp,你可以回答这个问题。
  • 我不认为这是链接答案的副本。您可以使用 Crisp 提供的涉及文件句柄的代码。或者简单地使用 readline() 函数,它会提示用户输入:php.net/manual/en/function.readline.php 假设你的 PHP 是用 readline 支持编译的。
  • @Gabe 问题可能不一样,但是在另一个问题上给出了这个问题的答案,这使得结束公平。
  • 你可以使用内置的php函数:"readline()",用法:$line = readline("Command:");

标签: php command-line


【解决方案1】:

cli 的 php 手册页有一个 comment here 详细说明了一个解决方案,(复制到这里供其他人查看)

<?php
echo "Are you sure you want to do this?  Type 'yes' to continue: ";
$handle = fopen ("php://stdin","r");
$line = fgets($handle);
if(trim($line) != 'yes'){
    echo "ABORTING!\n";
    exit;
}
fclose($handle);
echo "\n"; 
echo "Thank you, continuing...\n";
?>

【讨论】:

猜你喜欢
  • 2020-04-11
  • 2015-02-27
  • 2012-06-02
  • 1970-01-01
  • 1970-01-01
  • 2011-12-14
  • 2013-04-08
  • 2013-04-03
  • 2013-12-12
相关资源
最近更新 更多