我在覆盆子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
答案 0 :(得分:1)
您可以将变量传递给shell脚本,如下所示
$output = shell_exec("./main.sh $entry");
并在shell脚本中添加x = $1
。 $ x将是可变的,带有您的用户输入值。
查找此帖子了解更多详情https://stackoverflow.com/a/19460686/3086531