0

我有一个 PHP 脚本,我在其中通过 Raspberry 上的 wifi 控制 LED。

    $fileName = __DIR__.'/txt/led2.txt';

        if (!file_exists($fileName) || (file_get_contents($fileName) !== '1' && file_get_contents($fileName) !== '0')) {
            file_put_contents($fileName, '1');
        }

        if (isset($_GET['on4']) && file_get_contents($fileName) === '1') {
            shell_exec("/usr/local/bin/gpio -g write 15 1");
            file_put_contents($fileName, '0');
        }

        else if (isset($_GET['on4']) && file_get_contents($fileName) === '0') {
            shell_exec("/usr/local/bin/gpio -g write 15 0");
            file_put_contents($fileName, '1');
        }

基本上如果我按下按钮,脚本将替换文件中的变量,当它打开时,文件中的变量 = 0,当它关闭时,它等于 1。

我需要在我的 Web UI 上显示 LED 的当前状态。有可能吗?现在只知道echo显示的是1还是0,不能换成一些图片或者文字吗?

4

1 回答 1

0

添加一个echo显示取决于 LED 状态的图像的语句。

您还可以通过注意所有重复并使用变量来简化代码

$fileName = __DIR__.'/txt/led2.txt';

if (file_exists($fileName)) {
    $current_state = file_get_contents($fileName);
    if ($current_state != "0" && $current_state != "1") {
        file_put_contents($fileName, '1');
        $current_state = 1;
    }
} else {
    $current_state = 1;
    file_put_contents($fileName, $current_state);
}

if (isset($_GET['on4'])) {
    shell_exec("/usr/local/bin/gpio -g write 15 $current_state");
    $current_state = 1 - $current_state;
    file_put_contents($fileName, $current_state);
}

echo $current_state == 1 ? '<img src="images/ledOff.png">' :  '<img src="images/ledOn.png">';
于 2018-12-18T18:55:34.810 回答