Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在PHP中动态刷新DIV_Python_Php_Html_Session - Fatal编程技术网

Python 如何在PHP中动态刷新DIV

Python 如何在PHP中动态刷新DIV,python,php,html,session,Python,Php,Html,Session,我正在执行一个Python文件,该文件将图像保存到名为“latestimage.png”的文件夹中,并保存到PHP网页中的一个文件夹中,使用以下命令: $proc = popen('python -u python.py', 'r'); echo '<pre>'; while (!feof($proc)) {

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

$proc = popen('python -u python.py', 'r');
                    echo '<pre>';
                    while (!feof($proc))
                        {
                            echo fread($proc, 4096);
                        }
                    echo '</pre>';
            }
正如您所看到的,有一个while循环,在脚本完成执行之前,它会停止任何其他操作。我有一个DIV显示最新版本的“latestimage.png”:

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


<?}?>

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

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

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

试试这个

试试这个


看起来你需要学习AJAX。你想点击一个按钮获取最新图像还是每隔几秒钟检查一次img并获取最新的imgLooks,就像你需要学习AJAX一样。你想点击一个按钮获取最新图像还是每隔几秒钟检查一次img并获取最新的imgDo你知道我需要做什么吗AJAX来完成我的任务?是的,请看:在代码段下面有一个关于如何使用的示例。你知道我需要在AJAX中做什么来完成我的任务吗?是的,请看:在代码段下面有一个关于如何使用的示例。我不确定这是否是您正在做的,但我认为您需要每隔10秒刷新一次DIV,以显示最新版本的“latestimage.png”,而不是旧版本。您好,请将getIMG.php更改为您的php页面名称✌这段代码每5秒钟向同一个php页面发送一个请求,以获取放置在图像标记的src属性中的url。我更改了页面名称,但仍然没有成功。每当我转到getIMG.php?getIMG=1URL时,最新的图像就会显示出来,所以我认为这只是让它自动转到那里的一个例子。但是,这需要刷新整个页面,但我只想用中的图像刷新DIV。对不起,我的代码显示图像是什么意思?图像位于文件夹中。很遗憾,不是。我不确定这是否是您正在做的,但我认为您需要每隔10秒刷新一次DIV,以显示最新版本的“latestimage.png”,而不是旧版本。您好,请将getIMG.php更改为您的php页面名称✌这段代码每5秒钟向同一个php页面发送一个请求,以获取放置在图像标记的src属性中的url。我更改了页面名称,但仍然没有成功。每当我转到getIMG.php?getIMG=1URL时,最新的图像就会显示出来,所以我认为这只是让它自动转到那里的一个例子。但是,这需要刷新整个页面,但我只想用中的图像刷新DIV。对不起,我的代码显示图像是什么意思?图像位于文件夹中。
<?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>


<?}?>