Содержимое файла PHP эхом заменяется текстом и размещается где-то на HTML-странице - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть PHP-скрипт, в котором я управляю светодиодами через Wi-Fi на Raspberry.

    $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.

Мне нужно показать текущее состояние светодиодов на моем веб-интерфейсе.Это возможно?Теперь я знаю только, показывает ли эхо 1 или 0, нельзя ли его заменить каким-либо изображением или текстом?

1 Ответ

0 голосов
/ 18 декабря 2018

Добавьте оператор echo, который отображает изображение, зависящее от состояния светодиода.

Вы также можете упростить код, заметив все повторения и используя переменную

$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">';
...