php - 使用 PHP 的交互式 shell

标签 php shell interactive

只是想知道,是否可以单独使用 PHP 创建一个交互式 shell。我的意思是像你在数据库、python 等方面的东西。

如果是,怎么做?

最佳答案

是的,这是可能的。为了具有交互性,程序必须能够等待并读取来自stdin 的用户输入。在 PHP 中,您可以通过将文件描述符打开到 'php://stdin' 来读取 stdin .取自an answer to different question ,这里是 PHP 中交互式用户提示的示例(当然是从命令行运行时):

echo "Continue? (Y/N) - ";

$stdin = fopen('php://stdin', 'r');
$response = fgetc($stdin);
if ($response != 'Y') {
   echo "Aborted.\n";
   exit;
}

当然,要获得整行输入而不是单个字符,您需要 fgets()而不是 fgetc() .根据您的程序/shell 将执行的操作,整个程序可能被构造为一个大的连续循环。希望这能让您了解如何开始。如果你想获得真正的花哨(CLI 伪 GUI),你可以 use ncurses .

关于php - 使用 PHP 的交互式 shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5794030/

相关文章:

php - Mysql查询只返回午夜

php - 如何在 php 中获取所有具有特定文件夹名称的子目录?

php - 如何强制命令行使用 PHP 版本?

php - 正则表达式分解驼峰式字符串 PHP

php - "if"与 "switch"

python - 如何计算多个csv文件中数字的平均值?

c - 为什么我的小 C 程序使用 cat 实用程序打印不同的字符串?

javascript - 将事件位置映射到chartjs折线图中的y轴值

python - 如何在事后方便地修改 matplotlib 图(持久化/序列化)?

javascript - 定位多个随机大小的绝对定位元素,使它们不重叠