【问题标题】:Run PHP script in html on button click单击按钮以 html 运行 PHP 脚本
【发布时间】:2017-04-08 06:35:20
【问题描述】:

我想在 html 中单击按钮时运行 php 脚本。我在这里查看了很多帖子,但它们似乎不起作用。截至目前,我正在尝试解决方案here,但它不起作用。我不知道是什么导致了麻烦,但我知道它不是 php 文件。任何帮助表示赞赏。

php 脚本:

<?php
shell_exec("/var/www/html/Camera/CameraScript.sh");
header('Location: /Camera/Camera.html?success=true');
?>

html代码:

<form action="Script.php">
        <input type="submit" value="Open Script">
</form>

Shell 脚本:

#!/bin/bash

raspistill --output /var/www/html/Camera/Photos/Image.jpg

【问题讨论】:

  • 您的代码和尝试在哪里。请向我们展示您的代码以及您遇到问题的地方。
  • 它是否重定向到给定的 url 并且您是否检查了 shell_exec 部分的 apache 错误日志?你有权限问题吗?当您在终端上运行 shell 时,它是 root 用户,但在 php 中它是 apache 用户。你尝试在你的 shell 脚本中运行什么命令?
  • shell_exec 也将所有输出流作为字符串返回,而不是打印按钮被单击跟踪脚本中的某些内容并尝试打印它的输出
  • @S.Gholizadeh 我没有权限问题,并且 apache 错误日志中没有任何内容。我使用 ./CameraScript.sh
  • 尝试在 .sh 文件中跟踪某些内容并在 php 脚本中打印出来。最好在此处提供 .sh 脚本

标签: php html button


【解决方案1】:

如果你使用过这样的 html 表单...

<form action="script.php" method="post">
    <input type="submit" value="Open Script" name="btn">
</form>

它必须要求将script.php php 文件放在同一目录中...

<?php
 echo "Button Click";
 shell_exec("/var/www/html/Camera/CameraScript.sh");
 header('Location: /Camera/Camera.html?success=true');
?>

点击按钮后。如果显示 Button Click 那么你的 php 文件被调用并且问题出在你的 php 脚本中......

【讨论】:

  • 也得到你的输出?
  • 是的,我是。我怀疑它是 php 文件,因为我可以在终端中完美地运行它。
【解决方案2】:

试试这个:

<form action="script.php">
    <input type="submit" value="Open Script" name="btn">
</form>

脚本.php

if(isset($_REQUEST['btn']))
{
    echo 'Button is clicked';
    // you can your shell script here like: 
    // shell_exec("/var/www/html/Camera/CameraScript.sh");
}

当按钮被点击时,会显示上面的信息

【讨论】:

  • 嗯,不,它确实说按钮被点击,但是当我让它执行一个shell脚本时,它不起作用。抱歉,如果我没有明确说明 php 脚本正在执行 shell 脚本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-12
  • 1970-01-01
  • 2023-02-22
  • 1970-01-01
  • 2017-02-27
  • 1970-01-01
相关资源
最近更新 更多