所以我正在处理我自己的应用程序,我需要执行shell命令,甚至在按钮点击时执行csh脚本。所有HTML代码都在显示我已经设置的一些传感器的结果我的arduino通过firefox,所以我基本上用它作为GUI。 HTML页面永远不会在线,它纯粹在我自己的机器上运行。
据我所知,在实时网页上运行HTML命令并不直接,这是一个安全问题,但我一直在阅读能够使用php脚本执行shell命令,但因为它在独立的PC上运行我不知道如何将它集成到从页面上点击按钮运行命令。
事实上,我根本没有使用php的经验,我甚至不知道从哪里开始运行我的HTML代码。
帮助!
编辑:
如果不是php,还有其他方法我可以运行命令,例如' ls'从按钮单击html页面?
奥利
答案 0 :(得分:1)
您可以使用exec
php function,然后执行您的脚本exec('/path/myscript.sh')
但是你必须以正确的方式设置你的php / apache。只是尝试寻找一些基本的Web服务器配置教程。
答案 1 :(得分:0)
php命令exec
应执行命令并检索标准输出。
<?php
$result = exec("wc -l /etc/issue");
print($result);
?>
使用该打印命令,您可以打印任何html文本,该文本将插入客户端接收和显示的页面中。所以简单地用你的实际网页包围php-snippet。
答案 2 :(得分:0)
一般的想法,你可以创建一个HTML表单,其中包含与特定shell命令相对应的按钮(我知道这不会在Web上生效,因此安全风险可能不是问题)。
从那里,您将收到PHP中的表单输入(您可以使用像Laravel这样的框架,这使得处理前端/后端通信变得更加容易 - http://laravel.com/docs/4.2/html http://laravel.com/docs/4.2/requests)
HTML和PHP的简单示例:
<form id="arduino" method="post" action="{{ url('arduino/control') }}">
<input type="text" name="command"/>
<input type="submit">
</form>
<?php
Route::post('arduino/control', function () {
$command = Input::get('command');
exec($command);
});