【问题标题】:How to refresh a DIV dynamically in PHP如何在 PHP 中动态刷新 DIV
【发布时间】:2020-06-08 11:54:19
【问题描述】:

我正在执行一个 Python 文件,该文件将图像保存到名为“latestimage.png”的文件夹中,在 PHP 网页中使用:

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

如您所见,有一个 while 循环可以阻止其他任何事情的发生,直到脚本完成执行。我有一个显示最新版本的 'latestimage.png' 的 DIV:

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

我想知道如何动态更新 DIV,以便每次 Python 文件创建新图像时,都会更新 DIV 以显示新图像。谢谢。

【问题讨论】:

  • 看来你需要学习 AJAX。
  • 你想点击按钮获取最新的图片还是每隔几秒检查一次img并获取最新的img

标签: python php html session


【解决方案1】:

由于 HTML 是 HTML 的一部分,并且 HTML 仅在客户端查看,因此您需要使用 AJAX 之类的东西,它会为您从服务器请求图像,只需给出它的 URL。您必须经常这样做,以便知道您正在获取最新版本的照片

【讨论】:

【解决方案2】:

试试这个

<?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>


<?}?>

【讨论】:

  • 很遗憾没有。我不确定这是否是您已经在做的事情,但我认为您需要每隔 10 秒刷新一次 DIV,以便显示最新版本的“latestimage.png”而不是旧版本。
  • 嗨,请将 getIMG.php 更改为您的 php 页面名称✌
  • 此代码每 5 秒向同一个 php 页面发送一个请求,以获取您放置在图像标签的 src 属性中的 url
  • 我更改了页面名称,但仍然没有运气。每当我转到 getIMG.php?GetIMG=1 URL 时,都会显示最新的图像,所以我认为这只是让它自动转到那里的情况。但是,这将涉及刷新整个页面,但我只想刷新带有图像的 DIV。
  • 对不起,我的代码显示图像是什么意思?图片在文件夹中。
猜你喜欢
  • 2012-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-02
  • 1970-01-01
  • 1970-01-01
  • 2013-03-19
相关资源
最近更新 更多