Как динамически обновить sh DIV в PHP - PullRequest
2 голосов
/ 24 февраля 2020

Я выполняю файл Python, который сохраняет изображения в папки с именем 'latestimage.png' в папку на веб-странице PHP, используя эту команду:

<code>$proc = popen('python -u python.py', 'r');
                    echo '<pre>';
                    while (!feof($proc))
                        {
                            echo fread($proc, 4096);
                        }
                    echo '
'; }

Как вы можете видеть, некоторое время l oop останавливает что-либо еще, пока не завершится выполнение скрипта. У меня есть DIV, который показывает последнюю версию 'latestimage.png':

<?php
                $filepath = $_SESSION['filepath'];
                $new_file = $filepath ."\\latestimage.png";
                ?>
                <img src="<?php echo $new_file; ?>">            
        </div>

Я хочу знать, как динамически обновлять DIV, чтобы каждый раз, когда файл Python создавал новое изображение, DIV обновляется, чтобы показать новое изображение. Спасибо.

Ответы [ 2 ]

0 голосов
/ 24 февраля 2020

попробуйте

<?php
$filepath = $_SESSION['filepath'];
$new_file = $filepath ."\\latestimage.png";
if (isset($_GET['GetIMG'])&& $_GET['GetIMG']==1){
echo$new_file;
}else{
?>
<img id="IMG"src="<?php echo $new_file; ?>"> 

<script>
function GetIMG() 
{
  var xhttp = new XMLHttpRequest();

  xhttp.onreadystatechange = function () 
  {

 if (xhttp.readyState === 4 && xhttp.status === 200)
 {
   document.getElementById("IMG").src = xhttp.responseText;

    }
  };

  xhttp.open("GET", "getIMG.php?GetIMG=1", true);
  xhttp.send();
}

intrv01 = window.setInterval(GetIMG, 5000); 

</script>


<?}?>
0 голосов
/ 24 февраля 2020

Так как это часть HTML, а HTML просматривается только на стороне клиента, вам нужно будет использовать что-то вроде AJAX, которое будет запрашивать изображение с сервера для вас, только что указав его URL , Вам придется делать это время от времени, чтобы вы знали, что получаете последнюю версию фотографии

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...