1

php 文件位于网站目录 ( /var/www) 中,我想从其index.html在同一目录中执行它。

php文件:

    <?php
    exec("sudo -u pi /home/pi/camcv/camcv .. ");
    ?>

可以通过php /var/www/script.php在系统中的任何地方键入命令行来运行,它可以正常执行(相机闪烁,打开带有图片的窗口,没有错误)。我需要它可以由www-data网站上的用户执行。

我知道有很多选项,我尝试过submit表单、onClick操作、发送参数($_POST['xy'])然后用 php 文件中的“if”结构、AJAX形式XMLHttpRequest和形式观察它$.ajax,我尝试包含 javascriptjquery.min.js并尝试添加权限在sudoers或更改文件夹/文件的所有权,允许读/写/执行......所有这些都没有实现目标。

所以我的问题是:

- 有人有防弹的方法来完成这项工作吗?

- 你能告诉我我到底要添加sudoers什么吗?

感谢您的任何建议。

PS:很少有尝试将我重定向到页面http://(ip)/script.php,因此按钮至少有一些响应。此外,XMLHttpRequest 确实致力于更改网页上的文本(阅读和发布 txt 文件)。

PSS:该功能不需要任何返回信息,我需要页面停留在带有按钮的站点上,可能不会重新加载。

4

1 回答 1

0

尝试用 jQuery 解决这个问题:

<!doctype html><head><meta charset="utf-8"></head><body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
$(function(){
$("#clickme").bind('click', function(){
        $.get( "script.php", function( data ) {
        $( ".result" ).append( data );
        });
    });
});
</script>
<input type="submit" id="clickme" value="TEST">
<div class="result">Result...</div>
</body>
</html>

如果您的“script.php”有任何响应,您将在 div 容器中得到它

于 2013-10-30T19:09:36.867 回答