PHP执行shell脚本并为提示提供输入

时间:2017-06-20 16:12:31

标签: php html shell

我在覆盆子pi上有一个apache服务器。我有一个基本程序,用户将字符串输入到html表单框中。单击“提交”将条目发送到php文件,然后调用shell脚本,并将条目作为提示传递。如果你看下面的php,它有一个带有用户输入的变量,它调用shell文件main.sh.我如何提供变量作为输入的shell程序。我看过proc_open,但还没有能够让它工作。谢谢 的index.html:

    <!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;
    }
}
?>

最后是shell文件: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

1 个答案:

答案 0 :(得分:1)

您可以将变量传递给shell脚本,如下所示

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

并在shell脚本中添加x = $1。 $ x将是可变的,带有您的用户输入值。

查找此帖子了解更多详情https://stackoverflow.com/a/19460686/3086531