首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何编写命令行交互式PHP脚本?

如何编写命令行交互式PHP脚本?
EN

Stack Overflow用户
提问于 2010-05-28 22:00:29
回答 4查看 21.7K关注 0票数 21

我想写一个可以从命令行使用的PHP脚本。我希望它能提示并接受一些条目的输入,然后输出一些结果。我想用PHP完成这项工作,因为我所有的类和库都是用PHP编写的,我只想为一些事情创建一个简单的命令行界面。

提示和接受重复的命令行输入是让我犯错的部分。我该怎么做呢?

EN

回答 4

Stack Overflow用户

发布于 2010-05-28 22:04:16

手册中的I/O Streams页面描述了如何使用STDIN从命令行读取一行:

代码语言:javascript
复制
<?php
 $line = trim(fgets(STDIN)); // reads one line from STDIN
 fscanf(STDIN, "%d\n", $number); // reads number from STDIN
?>
票数 20
EN

Stack Overflow用户

发布于 2013-07-06 07:53:57

简单:

代码语言:javascript
复制
#!/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";
票数 2
EN

Stack Overflow用户

发布于 2010-05-28 22:05:26

算法很简单:

代码语言:javascript
复制
until done:
    display prompt
    line := read a command line of input
    handle line

使用一个将命令映射到处理它们的回调函数的数组是非常简单的。整个挑战大致是一个while循环和两个函数调用。PHP还为更高级的shell应用程序提供了一个readline interface

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2929629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档