webui — замена содержимого файла PHP эхом на текст и позиционирование его где-то на странице HTML

У меня есть 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, не может ли он быть заменен каким-либо изображением или текстом?

0

Решение

Добавить 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="https://web-answers.ru/wp-content/uploads/2019/02/ledOff.png">' :  '<img src="https://web-answers.ru/wp-content/uploads/2019/02/ledOn.png">';
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]