Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
Javascript 仅当图像完全可用时每秒刷新图像_Javascript_Php - Fatal编程技术网

Javascript 仅当图像完全可用时每秒刷新图像

Javascript 仅当图像完全可用时每秒刷新图像,javascript,php,Javascript,Php,我遇到了一些问题。我想通过http绘制一个实时图像,并将其保存在我的Web服务器上。使用javascript,我每秒刷新保存的图像。但是当javascript刷新并且图像没有完全保存时,我只看到半个图像(没有完全加载的图像) 有没有办法处理这个问题?仅在保存任务完成时显示图像?如果不显示旧的“缓存”图像,直到新图像可用 从源代码访问图像的My php文件: $path = realpath(dirname(__FILE__)); for ($i = 0; $i < 59; ++$i) {

我遇到了一些问题。我想通过http绘制一个实时图像,并将其保存在我的Web服务器上。使用javascript,我每秒刷新保存的图像。但是当javascript刷新并且图像没有完全保存时,我只看到半个图像(没有完全加载的图像)

有没有办法处理这个问题?仅在保存任务完成时显示图像?如果不显示旧的“缓存”图像,直到新图像可用

从源代码访问图像的My php文件:

$path = realpath(dirname(__FILE__));
for ($i = 0; $i < 59; ++$i) {
    copy('http://<<<IP>>>/livepicture.jpg', $path.'/livepicture.jpg');
    sleep(1);
}
$path=realpath(dirname(_文件__));
对于($i=0;$i<59;++$i){
复制('http:///livepicture.jpg“,$path.”/livepicture.jpg');
睡眠(1);
}
我的html文件正在刷新图像:

<script language="javascript" type="text/javascript" >
function ChangeMedia(){
    var d = new Date();
    var t = d.getTime();
    document.getElementById('camara').src = "livepicture.jpg?"+t;
}
var reloadcam = setInterval("ChangeMedia()",1000);
</script>
<img src="livepicture.jpg" alt="Loading..." name="camara" id="camara" />

函数ChangeMedia(){
var d=新日期();
var t=d.getTime();
document.getElementById('camara').src=“livepicture.jpg?”+t;
}
var reloadcam=setInterval(“ChangeMedia()”,1000);

您可以尝试使用ajax requet和onload事件的图像,当您的php响应良好时刷新页面

您可以尝试使用ajax requet和onload事件的图像,当您的php响应良好时刷新页面

您需要修改以下代码以复制图像文件,并且仅在下载图像文件后替换以前的文件文件

$path = realpath(dirname(__FILE__));
for ($i = 0; $i < 59; ++$i) {
    copy('http://<<<IP>>>/livepicture.jpg', $path.'/temp.jpg');
    rename($path.'/temp.jpg', $path.'/livepicture.jpg');
    sleep(1);
}
$path=realpath(dirname(_文件__));
对于($i=0;$i<59;++$i){
复制('http:///livepicture.jpg“,$path.”/temp.jpg');
重命名($path.'/temp.jpg',$path.'/livepicture.jpg');
睡眠(1);
}

您需要修改以下代码以复制图像文件,并且仅在图像文件下载后替换以前的文件

$path = realpath(dirname(__FILE__));
for ($i = 0; $i < 59; ++$i) {
    copy('http://<<<IP>>>/livepicture.jpg', $path.'/temp.jpg');
    rename($path.'/temp.jpg', $path.'/livepicture.jpg');
    sleep(1);
}
$path=realpath(dirname(_文件__));
对于($i=0;$i<59;++$i){
复制('http:///livepicture.jpg“,$path.”/temp.jpg');
重命名($path.'/temp.jpg',$path.'/livepicture.jpg');
睡眠(1);
}

you need
onload
image事件you need
onload
image事件for循环完成后,我得到一个500错误。你知道为什么吗?我知道问题出在哪里(错误500):在php设置中,脚本运行的默认时间设置为60秒。答案中的for循环当然运行得更长。在for循环完成后,我得到一个500错误。你知道为什么吗?我知道问题出在哪里(错误500):在php设置中,脚本运行的默认时间设置为60秒。答案中的for循环当然运行得更长。