2011-02-08 8 views
1

ローカルWebページがあるとします。ボタンを押すとC言語でプログラムが実行されます。問題は、このプログラムがログを出力し、ユーザーからの入力が必要であることです。私の質問です:どのように私はbashのようなウィンドウを表示し、それを介してこのプログラムを実行するので、出力と入力は、画面を通して見られる?PHPウェブページから対話型シェルプログラムを実行する方法

+0

SSHはこれを達成するためにはるかに安全/安全/実用的/簡単な方法ではないでしょうか? – drudge

+0

なぜプログラム出力をPHPに戻して解析せずに画面(ブラウザ)に表示するのですか?私はCに完全なプログラムを配布することに固執するだろうC(exe)はPHPとCの値は何ですか?どのような場合でもcプログラムをユーザーに配布する必要があります。 –

+0

おそらくcが何をしているのか、そしてPHPが助けてくれることを知っているでしょう –

答えて

0

jqueryのプラグインを開発します"Terminal Emulator"これを確認できます。 CプログラムをJSON-RPCとして書くと、1行のjavascriptで端末を作成できます。

もう1つの解決策は、PHPをまったく使用せず、コードをCまたはBashで書かれたCGIとして作成することです。

更新:あなたはあなたのプログラムがCGIスクリプト

int main() { 
    printf("Content-Type: text/plain\n\n"); 
    // code of your program here 
} 

ように変更して、CGI-binディレクトリに入れて、それはあなたがおそらくブラウザで

+0

あなたが提案したものは、私が思ったものを超えています。私はちょうど別のウィンドウでターミナルを開いたかった。それはウェブページ上にある必要はありませんでした。私はあなたのアイデアがはるかに良いのが好きです。これは私の論文プロジェクトのためです。もし私が短時間でそれをやることができるなら、私はそれをやります。いずれにしても、私は思った通りにそれをやる方法を知っていますか? – gvalero87

+0

このスニペットhttp://wklej.org/id/472868/を使用することはできますが、ディレクトリをトラバースするだけでは 'QUERY_STRING'のコードが実行されますが、安全でないためパスワードチェックは行われません。 – jcubic

0

を出力を表示http://yourserver.com/cgi-bin/programブラウザを介してそれを実行することができますajaxtermを使用し、シェルとして実行するプログラムを指定することができます。

ajaxterm.py --command=/your/command --port=yourfavoriteport 

指定したポートにユーザーをリダイレクトするか、iframe経由で端末を表示できます。

関連する問題