2017-09-24 263 views
1

HTML通訊我非常新手在編程的這個領域,因此任何指導,將不勝感激。我爲我的Rasp Pi提供了一個相機流,我只是附加了一個伺服器來轉動它。我已將問題分爲三個階段。PHP /爲樹莓派

1)HTML GUI爲一個簡單的兩個按鈕,具有用於照相機度的值框。

2)PHP紙條讀值每一個按鈕被按下的HTML的時間和它寫下來到一個文本文件中。

3)Python腳本讀取的文本文件,並相應地移動相機。

我已經完成步驟3,其圍繞轉動伺服。我還在html中創建了一個小的GUI作爲步驟1。我主要關心的是將客戶端的HTML頁面鏈接到PHP服務器端。我的專業知識在這裏結束。我有一個託管在我的Pi上的網站,所以我只需要通過簡單的網頁即可控制攝像頭的位置。有沒有一種簡單的方法可以與PHP交談?如果我最初可以從html按鈕獲取數據,我可以編寫一個簡單的php代碼將值寫入文本文件。

而準確的說,該按鈕不會被傳遞的實際數目,只是一個遞增/遞減信號,以在PHP其中具有增加或減少(在相機度角)中的硬編碼值。

這是我的代碼到目前爲止。

<!doctype html> 
<html> 
<head> 
    <title>Camera Control</title> 
</head> 
<body> 
<h1 style="text-align: center;">Camera Control</h1> 

<p style="text-align: center;"> 
    <input name="Leftbutton" type="button" value="Left" />&nbsp;&nbsp; 
    <input maxlength="5" name="textbox" size="5" type="text" />&nbsp;&nbsp; 
    <input name="Rightbutton" type="button" value="Right" /> 
</p> 
</body> 
</html> 

Preview of the HTML


<?php 
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!"); 
$txt = " **Some value from the button, text or number** \n"; 
fwrite($myfile, $txt); 
fclose($myfile); 
?> 

我的目標是要避免的JavaScript或語言,我不知道,如果有一個簡單容易的方法,我可以完成這件事將是驚人的。提前致謝。

+1

搜索'PHP的形式handling'如無物正在發佈。 – Xorifelse

+0

似乎正確的想法讓我走了,非常感謝! –

回答

0

下面這段代碼應該是index.php文件:

<?php 
    if($_GET['return'] == 'failed'){ 
    echo '<p>unable to execute command.<p>'; 
    } 
?> 

<style> 
    #camera > input{ 
    margin-left 10px; 
    } 
</style> 
<form id="camera" action="camera.php" method="post"> 
    <input type="submit" name="left" value="left"> 
    <input maxlength="5" name="textbox" size="5" type="text" /> 
    <input type="submit" name="right" value="right"> 
</form> 

那麼對於PHP是這樣的:

<?php 
    #camera.php 

    if(isset($t = $_POST['textbox']) && isset($l = $_POST['left']) || isset($r = $_POST['right'])){ 
    if(isset($l){ 
     $v = "left"; 
    } elseif(isset($r)) { 
     $v = "right"; 
    } else { 
     header('Location: ./index.php?return="failed"'); 
     die(); 
    } 

    if(!file_put_contents('data.txt', time() . "| $v:$t" . PHP_EOL)){ 
     header('Location: ./index.php?return="failed"'); 
     die(); 
    } 

    header('Location: ./index.php'); 

    // if access to shell 
    exec('python ./location/to/yourscript.py'); 
    } 

?> 
0
<html> 
<head> 
    <title>PHP Test Page 
    </title> 
</head> 


<body> 
<form method="post" action="temp.php"> 
<input type="submit" value="Left" name="leftb"> 
<input type="submit" value="Right" name="rightb"> 
</form> 



</body> 
</html> 




<?php 
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!"); 

if ($_POST['leftb']) 
{ echo "Left is pressed"; 
    $txt = -1;} 


else if ($_POST['rightb']) 
{ echo "Right is pressed"; 
    $txt = 1;} 


fwrite($myfile, $txt); 
fclose($myfile); 



sleep(1); 

$myfile = fopen("newfile.txt", "w") or die("Unable to open file!"); 
$txt = 0; 
fwrite($myfile, $txt); 

fclose($myfile); 

?> 
+0

這就是我設法讓它工作的原因! –