С моими ограниченными навыками HTML я взломал грубую часть кода, чтобы выполнить простую задачу. У меня есть малина Pi, работающая на веб-сервере Apache. На мониторе Pi мне нужно отобразить изображение. Иногда мне нужно будет изменить это изображение удаленно, перейдя, по крайней мере, на пару десятков изображений.Сложность Пытается обновить страницу с помощью PHP
Прямо сейчас в том же каталоге у меня есть страница изображения, четыре .jpg файла и страница выбора, чтобы выбрать изображение, которое я хочу. Я потянул это на другой компьютер в той же сети. Единственный способ понять, как передать изображение, которое я хочу, - это записать его в текстовый файл. Таким образом, страница выбора имеет простую веб-форму с некоторыми переключателями и кнопкой отправки. Вы выбираете число от 1 до 4, нажимаете submit, и он просто записывает этот номер в текстовый файл. Эта часть работает.
Страница изображения открывает текстовый файл, считывает номер и привязывает его к тегу img src. Я сделал простой цикл, который обновлял страницу каждые 5 секунд, и это работало нормально. Я могу изменить текстовый файл, и через несколько секунд страница перезагрузится с новым изображением. Потрясающие.
Итак, я попытался добавить немного дополнительного кода с мыслью, что вместо обновления каждые 5 секунд вместо этого будет проверяться каждые 5 секунд, чтобы узнать, отличается ли число в текстовом файле.
Что-то о моем коде janky, потому что в первый раз, когда я загружаю его, ничего не происходит. Анимация загрузки браузера идет так, я предполагаю, что код начал цикл, но если он дошел до этого, почему он не загрузил изображение первым? Он будет сбрасываться, пока я не перейду на страницу выбора, чтобы изменить текстовый файл. В этот момент он загрузит изображение, но загрузит номер, который был ранее в текстовом файле, а не текущий. Он работает так каждый раз, всегда меняясь на предыдущий номер, а не на текущий.
Я уверен, что это что-то немое, что я не понимаю, потому что мои навыки кодирования сосут. Кто-нибудь видит вопиющую ошибку?
<?php
$file = fopen("hints.txt","r");
$theData = fread($file,2);
fclose($file);
?>
<img width=533 height=355 src="<?php echo $theData?>.jpg"><br>
<?php
do{
sleep(5);
$file2 = fopen("hints.txt","r");
$theData2 = fread($file2,2);
fclose($file2);
} while ($theData == $theData2);
header("Refresh:0");
?>
Это что-то о том, как загружается фактическая страница, не так ли? В моей голове я предполагаю, что он делает первый фрагмент кода PHP, затем загружает изображение, затем делает второй фрагмент кода PHP, но это не должно быть так, как браузер анализирует код. Сначала он пытается сделать все PHP-код, поэтому он зацикливается в цикле сразу перед загрузкой изображения. –