我目前正在研究覆盆子pi,我在其上放了一个apache服务器,并且还连接了一个扬声器。
我要做的是通过点击html网页上的某个按钮让树莓派播放一些音乐。
这是我的代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-" />
<title>Sons</title>
</head>
<body>
<p>Voici les son que le cone est capable de produire:<br />
<ul>
<li>Chien</li>
<form method="post" action=""
<p>
<input type="submit" name="Envoyer" value="Poster"/>
</p>
</form>
<li>Alarme</li>
<li>Buzzer</li>
</ul>
<p/>
<?php
if(isset($_POST['exec']))
{
if(isset($_GET['action']) && $_GET['action']=='yes')
{
$cmd=exec(escapeshellcmd('/usr/bin/mpg123 /var/www/html/chien.mp3'));
$cmd=exec(escapeshellcmd('mv /var/www/html/test.txt /var/www/html/images/'));
if(!$cmd)
{
echo "C'est bon";
}
else
{
echo "Nope";
}
}
}
echo '<form method="post" action="Son.php?action=yes">
<input type="submit" name="exec" value="Executer">
</form>';
?>
</body>
</html>
所以我使用mpg123在树莓上播放音乐,当我在shell中输入命令时它工作得很好但是它不在PHP部分。
奇怪的是,只是移动.txt文件的命令mv实际上正在工作而另一个没有。
感谢您帮助我,我现在还不知道该怎么做,我刚开始学习HTML&amp; PHP所以我仍然有点困惑。
答案 0 :(得分:0)
我也是PHP的新手,但也许你用第二个命令覆盖第一个命令,因为他们使用相同的变量名?或者$ CMD是命令的返回值吗?