2017-06-20 69 views
0

我在樹莓派上有一個Apache服務器。我有一個基本的程序,用戶在一個html表單框中輸入一個字符串。點擊submit將條目發送到一個php文件,然後調用一個shell腳本,並將該條目作爲提示傳遞。如果你看看下面的php,它有一個用戶輸入的變量,它調用shell文件main.sh.我怎樣才能提供shell程序這個變量作爲輸入。我看過proc_open,但一直沒有能夠得到它的工作。感謝 的index.html:PHP執行shell腳本並提供輸入提示

<!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

可以傳遞變量如下,以shell腳本

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

和shell腳本中,添加x = $1。 $ x會隨用戶輸入值而變化。

查找這個職位更多細節https://stackoverflow.com/a/19460686/3086531

+0

好以後我會嘗試一下,謝謝 – figbar

+0

我看着你附加的鏈接,和它的工作,我只是忘了讓我的PHP變種逃生殼ARG當我之前測試過這個方法。謝謝, – figbar

相關問題