PHP文件内容回声替换为文本并将其放置在HTML页面中的某个位置

时间:2018-12-18 18:08:50

标签: php webui

我有一个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的当前状态。有可能吗? 现在我只知道回声显示为1还是0,是否可以用某些图片或文字代替它?

1 个答案:

答案 0 :(得分: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">';