2017-06-20 5 views
0

私はラズベリーパイにapacheサーバーを持っています。私は、ユーザーがHTMLフォームボックスに文字列を入力する基本的なプログラムを持っています。 submitをクリックすると、エントリがphpファイルに送信され、シェルスクリプトが呼び出され、そのエントリがプロンプトとして渡されます。以下のPHPを見ると、ユーザ入力の変数があり、シェルファイルmain.shを呼び出します。その変数を入力としてどのようにシェルプログラムを提供できますか?私はproc_openを見てきましたが、動作させることができませんでした。おかげで Index.htmlと:PHPはシェルスクリプトを実行し、プロンプトの入力を提供します

<!DOCTYPE html> 
<html> 
<head> 

</head> 
<body> 
    <form action="script.php" method="post" enctype="multipart/form-data"> 
    Address: <input type="text" name="Address" value=""><br> 
    <input type="submit" value="Upload" name="submit"> 
    </form> 
</body> 
</html> 

script.php:

<?php 
if(isset($_POST["submit"])) { 
    if($_POST['Address'] != "") 
    { 
     $entry = $_POST['Address']; 
     $output = shell_exec ("./main.sh"); 
     echo $output; 
    } 
} 
?> 

、最終的にはシェルファイル:main.sh:あなたは次のようにスクリプトをシェル変数を渡すことができ

echo -n "Do you like pie (y/n)? " 
read answer 
if echo "$answer" | grep -iq "^y" ;then 
    echo Yes 
else 
    echo No 
fi 

答えて

0

$output = shell_exec("./main.sh $entry");

およびシェルスクリプトに、x = $1を追加します。 $ xはあなたのユーザー入力値で可変になります。 https://stackoverflow.com/a/19460686/3086531

+0

[OK]を詳細については、この記事の

見て、私は後でそれをしようとします、おかげ – figbar

+0

は、私はあなたが添付のリンクを見て、それが働いていた、私はちょうどその時私は私のPHPのVARエスケープシェル引数を作るのを忘れてこの方法を以前にテストしました。ありがとう、 – figbar

関連する問題