我有一个链接,当页面被调用或刷新时,该链接就会运行。
由于将其设置为执行onclick,因此这应该不会发生。
我有一个偷偷摸摸的怀疑,因为我将路径留空是href
因为这可能会导致问题,但是添加文件位置不会改变结果。
<a href="" onClick="<?php exec('sudo python /var/www/html/lightson.py'); ?>"><img src="lightm.png" width="128" height="128"></a>
编辑:我想对@Chris表示赞赏,因为他很好地指出了他的回答中的关键点:您在这里混合了客户端和服务器端代码。他还证实了有关PHP代码如何执行的事实,无论我在下文中如何将其称为假设和猜测,自那以后,事实证明这是事实。
以下是我的原始答案:
我没有使用该exec
函数的经验,但是我的直觉告诉我,无论它在HTML文档中的什么位置,它都将执行。实际上,就像使用PHP的任何函数一样,您实际上并不需要将其正确格式化为HTML文件,它仍然可以运行(嗯,除非被注释掉),所以这就是它每次调用的原因。 ..
考虑到您使用的onclick
是返回点击事件处理程序代码(客户端)的方式,如果您使用AJAX或其他方式加载外部文件(而不是PHP调用)(服务器),则是最好的选择。
例子:
<a href="" onClick="myFunc()"><img src="lightm.png" width="128" height="128"></a>
AJAX调用:
function myFunc() {
$.ajax({
url: "/var/www/html/lightson.py",
// rest of the AJAX magic
});
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句