2012-02-09 57 views
1

我正在寻找在Linux操作系统上编写一个小型PHP CLI应用程序,该应用程序显示MySQL数据库表中的一些值,以便在不进入网络(SSH是唯一向外部开放的端口,因此CLI是唯一的选择)。PHP CLI - STDIN - 或 - 重新加载脚本

我还希望它能同时接收来自STDIN的输入以在两个不同的屏幕之间进行选择,并且每隔30秒刷新一次页面(即使它在sleep()命令后自动调用)。

到目前为止,我只能做一个或另一个,而不是两个。有点棘手,因为它不会刷新,直到收到输入。

如果有人有一个想法,在如何做到这一点,它会很好。

我迄今为止的自刷新什么:

sleep(30); 
system("./filename.php"); 

以下是我迄今为止的STDIN输入:

do { 
    $choice = trim(fgets(STDIN)); 
} while(!(($choice == "1") || ($choice == "2") || ($choice == "q"))); 


switch($choice) { 
    case "1": 
     loadScreen1(); 
    case "2": 
     loadScreen2(); 
    case "q": 
     exit(); 
} 

干杯。

回答

0

如果你有办法,你应该看看ncurses PHP扩展完整的终端控制,而不必依靠system调用。

+0

唯一完成的系统调用是加载不同的CLI脚本或清除屏幕。 ncurses能够做我需要的吗?如果是这样,你能举个例子吗? – Simon 2012-02-09 07:59:01

+0

要清除屏幕,您可以使用'ncurses_clear'函数。有什么原因需要多个CLI脚本?您可以在一个PHP脚本中实现所有屏幕。 – Sim 2012-02-09 09:08:05

+0

我们在这里谈论话题。我的问题是:有没有办法让我输入一个PHP CLI脚本的输入,同时每隔30秒重新加载脚本,即使没有输入? ncurses能做到吗?以后我可以整合并学习ncurses。现在我想要一个解决方案。 – Simon 2012-02-09 10:18:44