2012-02-09 11 views
1

Linux OSで小さなPHP CLIアプリケーションを記述して、MySQLデータベーステーブルからいくつかの値を表示するようにしています。ネットワーク(SSHは外部に開かれた唯一のポートなので、CLIは唯一のオプションです)。PHP CLI - STDIN - または - リロードスクリプト

私はSTDINからの入力を受けて2つの異なる画面の中から選択し、30秒ごとにページを更新することもできます(sleep()コマンドの後に自分自身を呼び出しても)。

これまでのところ、私は1つまたは2つの両方を行うことはできませんでした。それが入力を受け取るまで更新されないので、ややこしい。

誰かがこれを行う方法についてアイデアを持っているなら、それは素晴らしいでしょう。私は、セルフリフレッシュのために、これまで持って何

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


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

乾杯:

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

次は私がこれまでにSTDIN入力のための持っているものです。

答えて

0

ncurses コールに頼らずに、フルターミナルコントロール用のPHP拡張モジュールを参照する必要がある場合は、

+0

実行されるシステムコールは、別のCLIスクリプトをロードするか、画面をクリアすることだけです。 ncursesは私の必要なことをすることができますか?もしそうなら、例を挙げてください。 – Simon

+0

画面をクリアするには 'ncurses_clear'関数を使います。複数のCLIスクリプトが必要な理由はありますか?すべての画面を1つのPHPスクリプトで実装することができます。 – Sim

+0

ここから話題になります。私の質問です:PHP CLIスクリプトのSTDINへの入力を許可する方法はありますか?入力がなくても30秒ごとにスクリプトをリロードしますか? ncursesはそれを行うことができますか?後でncursesを統合して学ぶことができます。私は今のところ解決策を望んでいる。 – Simon