2016-11-24 144 views
1

我想運行一個php腳本,點擊html中的按鈕。我在這裏看過很多帖子,但他們似乎沒有工作。截至目前,我正在嘗試解決方案here,但它不起作用。我不知道是什麼導致了麻煩,但我知道它不是PHP文件。任何幫助表示讚賞。在html上運行PHP腳本點擊按鈕

php腳本:

<?php 
shell_exec("/var/www/html/Camera/CameraScript.sh"); 
header('Location: /Camera/Camera.html?success=true'); 
?> 

的html代碼:

<form action="Script.php"> 
     <input type="submit" value="Open Script"> 
</form> 

Shell腳本:

#!/bin/bash 

raspistill --output /var/www/html/Camera/Photos/Image.jpg 
+2

你的代碼和你的嘗試在哪裏。請向我們展示您的代碼以及您遇到的問題。 – RJParikh

+0

它重定向到給定的網址,並檢查了shell_exec部分的Apache錯誤日誌?你有權限問題嗎?當你在終端上運行shell時,它是root用戶,但在php中它是apache用戶。你嘗試在你的shell腳本中運行什麼命令? –

+0

也shell_exec返回所有的輸出流作爲一個字符串,而不是打印按鈕被點擊追蹤腳本中的東西,並嘗試打印它的輸出 –

回答

0

試試這個:

<form action="script.php"> 
    <input type="submit" value="Open Script" name="btn"> 
</form> 

的script.php

if(isset($_REQUEST['btn'])) 
{ 
    echo 'Button is clicked'; 
    // you can your shell script here like: 
    // shell_exec("/var/www/html/Camera/CameraScript.sh"); 
} 

當按鈕被點擊,那麼上述消息顯示

+0

是的,它完美的作品 – Erik

+0

聽起來不錯,接受答案,如果它適合你。 –

+0

嗯,不,它確實說按鈕被點擊,但是當我有它執行一個shell腳本,它不起作用。對不起,如果我沒有說清楚,PHP腳本正在執行一個shell腳本。 – Erik

0

如果您有使用HTML表單這樣的...

<form action="script.php" method="post"> 
    <input type="submit" value="Open Script" name="btn"> 
</form> 

它必須要求把script.php PHP文件在同一目錄中...

<?php 
echo "Button Click"; 
shell_exec("/var/www/html/Camera/CameraScript.sh"); 
header('Location: /Camera/Camera.html?success=true'); 
?> 

點擊按鈕後。如果顯示Button Click那麼你的PHP文件是調用和問題是在你的PHP腳本...

+0

是的,他們在同一個目錄中,它工作。 – Erik

+0

好吧,現在你的php文件是正確的? –

+0

也獲取您的輸出? –