Python 如何在PHP中动态刷新DIV
我正在执行一个Python文件,该文件将图像保存到名为“latestimage.png”的文件夹中,并保存到PHP网页中的一个文件夹中,使用以下命令: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)) {
$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>
<?}?>